收藏

海量数据高并发场景,构建Go+ES8企业级搜索微服务

全新 ES8 配合技术组件,实现高性能搜索,帮助后端人员突破搜索服务开发瓶颈

海量数据高并发场景,构建Go+ES8企业级搜索微服务

¥599.00
已完结 难度 高级 时长 28小时20分钟 学习人数 260 综合评分 10.00
  • 第1章 课程介绍及学习指南 2 节 | 9分钟

    本章主要对课程整体内容进行概述,让大家了解课程内容安排以及讲师做课的初衷,并在学习上提出相应的建议指导,帮助大家快速提升。

    收起列表

    • 图文: 1-1 学前必读(不看错过一个亿)
    • 视频: 1-2 课程导学 (08:28) 试看
  • 第2章 Go项目工程化实战:构建规范化Go工程项目 8 节 | 94分钟

    本章主要讲解Go工程化的最佳实践,以及可扩展的项目目录设计、Restful api设计方法 、单元测试中对中间件存在依赖问题的解决方案。

    收起列表

    • 视频: 2-1 Go项目工程化实战--章节导学 (02:22)
    • 视频: 2-2 为工程设计合理的目录结构(一) (09:30)
    • 视频: 2-3 为工程设计合理的目录结构(二) (10:36)
    • 视频: 2-4 api接口如何设计 (17:48)
    • 视频: 2-5 如何管理项目中的配置 (14:37)
    • 视频: 2-6 Go项目中包管理最佳实践(一) (13:55)
    • 视频: 2-7 Go项目中包管理最佳实践(二) (09:01)
    • 视频: 2-8 Go开发中优雅的处理错误 (15:15)
  • 第3章 ES实战指南:掌握ES核心使用细节 12 节 | 145分钟

    本章主要介绍ES数据建模,定制化排序,写优化以及使用过程中容易出现的一些误区等内容,几乎贯穿整个ES使用的方方面面,为正确使用ES,用好ES提供经验指导。

    收起列表

    • 视频: 3-1 ES实战指南--章节导学 (02:57)
    • 视频: 3-2 Dynamic Mapping是特性也有毒性(一) (10:59)
    • 视频: 3-3 Dynamic Mapping是特性也有毒性(二) (10:23)
    • 视频: 3-4 字段属性的确定,数据建模填坑(一) (19:50) 试看
    • 视频: 3-5 字段属性的确定,数据建模填坑(二) (20:01)
    • 视频: 3-6 定制化排序的骚操作(一) (12:20) 试看
    • 视频: 3-7 定制化排序的骚操作(二) (15:38)
    • 视频: 3-8 嵌套对象查询的坑 (13:33)
    • 视频: 3-9 从写入原理深入ES写优化(一) (08:07)
    • 视频: 3-10 从写入原理深入ES写优化(二) (16:15)
    • 视频: 3-11 从写入原理深入ES写优化(三) (14:38)
    • 图文: 3-12 插件选型及常用插件
  • 第4章 ES运维指南:对ES运维经验分享 9 节 | 125分钟

    本章主要介绍Elasticsearch集群运维相关的一些实战经验,包括集群规划,集群监控,数据迁移等内容。通过本章的学习一方面给运维同学带来一些集群运维和监控上的一些经验,另一方面也让开发同学能够解决在使用Elasticsearch集群过程中遇到的一些问题。...

    收起列表

    • 视频: 4-1 ES集群及节点角色规划实践(一) (13:45)
    • 视频: 4-2 ES集群及节点角色规划实践(二) (14:14)
    • 视频: 4-3 ES集群及节点角色规划实践(三) (15:52)
    • 视频: 4-4 ES跨集群搜索原理和实战(一) (12:10)
    • 视频: 4-5 ES跨集群搜索原理和实战(二) (08:09)
    • 视频: 4-6 ES集群多可用区容灾原理及实践 (12:01)
    • 视频: 4-7 ES跨集群数据迁移实战 (12:02)
    • 视频: 4-8 使用Promethues+Grafana监控ES集群 (16:00)
    • 视频: 4-9 ES集群运维实践经验总结 (20:11)
  • 第5章 微服务:构建微服务设计架构知识体系 10 节 | 91分钟

    本章讲解微服务的核心概念,高可用与软件架构相关知识点,BFF和网关以及微服务的划分原则和具体方法和可用性设计。

    收起列表

    • 视频: 5-1 微服务设计--章节导学 (02:39)
    • 视频: 5-2 架构的设计原则 (13:06)
    • 视频: 5-3 单体架构演进存在的痛点 (15:44)
    • 视频: 5-4 单体架构拆分成微服务架构 (11:38)
    • 视频: 5-5 微服务可用性之服务隔离 (13:31)
    • 视频: 5-6 微服务可用性之服务限流 (09:11)
    • 视频: 5-7 微服务可用性之服务降级 (06:13)
    • 视频: 5-8 微服务可用性之过载保护 (04:09)
    • 视频: 5-9 微服务可用性经验之超时控制 (04:53)
    • 视频: 5-10 电商微服务架构演进过程 (09:01)
  • 第6章 Go集成常用的中间件 14 节 | 244分钟

    本章主要介绍在实际项目中使用Golang集成各种中间件的方法以及需要要重点考虑的一些问题还会介绍这些中间件在Go开发中的使用方式。包括搜索引擎中间Elasticsearch,数据库中间件mysql,缓存中间间redis以及消息队列中间件kafka等。...

    收起列表

    • 视频: 6-1 Go中间件集成实战--章节导学 (03:13)
    • 视频: 6-2 项目中使用Go集成各种中间件需要考虑哪些? (09:22)
    • 视频: 6-3 各种场景引入消息中间件应该如何选择? (14:15)
    • 视频: 6-4 Golang使用kafka的正确姿势 (一) (24:22)
    • 视频: 6-5 Golang使用kafka的正确姿势 (二) (24:15)
    • 视频: 6-6 Go操作ES的一些技巧和注意事项(一) (20:02)
    • 视频: 6-7 Go操作ES的一些技巧和注意事项 (二) (18:23)
    • 视频: 6-8 Go操作ES的一些技巧和注意事项(三) (24:48)
    • 视频: 6-9 生产环境中Go集成mysql需要重点解决哪些问题? (25:13)
    • 视频: 6-10 Go中如何正确使用Redis? (13:17)
    • 视频: 6-11 Go集成MongoDB细节揭秘(一) (15:53)
    • 视频: 6-12 Go集成MongoDB细节揭秘(二) (23:12)
    • 视频: 6-13 Go集成Promethues细节揭秘(一) (12:22)
    • 视频: 6-14 Go集成Promethues细节揭秘(二) (14:48)
  • 第7章 搜索场景:非用户的短文本搜索及优化之道 36 节 | 457分钟

    本章以商品搜索为实战案例,主要介绍在非用户维度的短文本搜索场景下构建海量数据高性能搜索服务的注意事项以及优化手段。

    收起列表

    • 视频: 7-1 非用户短文本搜索及优化--章节导学 (03:01)
    • 视频: 7-2 项目环境说明 (17:59)
    • 视频: 7-3 商品搜索业务场景和功能分析 (04:19)
    • 视频: 7-4 商品搜索业务难点分析 (14:13)
    • 视频: 7-5 搜索性能有决定性因素的数据建模需注意的地方(一) (10:26)
    • 视频: 7-6 搜索性能有决定性因素的数据建模需注意的地方(二) (10:06)
    • 视频: 7-7 搜索性能有决定性因素的数据建模需注意的地方(三) (18:11)
    • 视频: 7-8 搜索性能有决定性因素的数据建模需注意的地方(四) (19:44)
    • 视频: 7-9 搜索性能有决定性因素的数据建模需注意的地方(五) (08:58)
    • 视频: 7-10 如何应对数据膨胀带来的性能问题 (06:36)
    • 视频: 7-11 服务隔离下解决数据同步--项目环境配置及整体介绍 (12:15)
    • 视频: 7-12 服务隔离下解决数据同步--初始化商城主服务依赖的中间件服务 (13:22)
    • 视频: 7-13 服务隔离下解决数据同步--商城主服务优雅退出 (13:35)
    • 视频: 7-14 服务隔离下解决数据同步--商品变更事件发送kafka 消息 (21:02)
    • 视频: 7-15 索引商品数据(一) (08:40)
    • 视频: 7-16 索引商品数据 (二) (13:10)
    • 视频: 7-17 索引商品数据 (三) (21:14)
    • 视频: 7-18 提升搜索性能之并发搜索 (一) (13:12)
    • 视频: 7-19 提升搜索性能之并发搜索(二) (16:43)
    • 视频: 7-20 提升搜索性能之多级缓存策略 (09:17)
    • 视频: 7-21 提升搜索性能之截断策略(一) (12:58)
    • 视频: 7-22 提升搜索性能之截断策略(二) (13:05)
    • 视频: 7-23 搜索服务介绍 (07:15)
    • 视频: 7-24 商品搜索接口的实现 (一) (05:55)
    • 视频: 7-25 商品搜索接口的实现 (二) (14:29)
    • 视频: 7-26 商品搜索接口的实现 (三) (13:12)
    • 视频: 7-27 商品搜索接口的实现(四) (16:45)
    • 视频: 7-28 商城服务对接搜索服务 (一) (08:48)
    • 视频: 7-29 商城服务对接搜索服务 (二) (24:30)
    • 视频: 7-30 商城服务对接搜索服务 (三) (08:45)
    • 视频: 7-31 集群和索引层面的一些优化 (16:34)
    • 视频: 7-32 衡量搜索服务质量的关键指标 (05:58)
    • 视频: 7-33 搜索性能指标上报(一) (17:56)
    • 视频: 7-34 搜索性能指标上报(二) (12:25)
    • 视频: 7-35 巧用NoSQL型数据库补足关系型数据库(一) (11:58)
    • 视频: 7-36 巧用NoSQL型数据库补足关系型数据库(二) (10:14)
  • 第8章 搜索场景:用户短文本搜索及优化之道 14 节 | 144分钟

    本章以订单搜索为实战案例,主要介绍在具有明确用户维度的短文本搜索场景下构建海量数据高性能搜索服务的注意事项以及优化手段。

    收起列表

    • 视频: 8-1 用户短文本搜索场景-章节导学 (01:22)
    • 视频: 8-2 订单搜索业务场景和功能分析 (03:46)
    • 视频: 8-3 特定场景下的数据建模(一) (12:14)
    • 视频: 8-4 特定场景下的数据建模(二) (17:12)
    • 视频: 8-5 特定场景下的数据建模(三) (08:57)
    • 视频: 8-6 千亿级订单搜索业务难点分析 (09:35)
    • 视频: 8-7 千亿级订单数据下如何规划集群存储 (09:38)
    • 视频: 8-8 如何避免大量写入导致集群高负载而影响查询效率? (09:42)
    • 视频: 8-9 如何做流量削峰(本章未完结,持续更新中) (04:36)
    • 视频: 8-10 如何快速重建用户订单索引(一) (13:06)
    • 视频: 8-11 如何快速重建用户订单索引(二) (10:25)
    • 视频: 8-12 索引订单数据 (12:33)
    • 视频: 8-13 订单搜索接口实现(一) (19:12)
    • 视频: 8-14 订单搜索接口实现(二) (11:22)
  • 第9章 搜索场景:时序型数据搜索实战与优化之道 12 节 | 122分钟

    本章以日志搜索为实战案例,主要介绍在时序型数据的搜索搜索场景下构建海量数据高性能搜索服务的注意事项以及优化手段。

    收起列表

    • 视频: 9-1 时序型数据搜索-章节导学 (06:02)
    • 视频: 9-2 日志搜索业务场景和功能分析 (05:33)
    • 视频: 9-3 日志索引数据建模常见误区 (16:46)
    • 视频: 9-4 日志搜索业务难点分析 (06:40)
    • 视频: 9-5 如何降低海量日志的存储成本 (02:42)
    • 视频: 9-6 索引生命周期管理原理及实践 (15:36)
    • 视频: 9-7 冷热分层原理及实践(一) (19:08)
    • 视频: 9-8 冷热分层原理及实践(二) (10:56)
    • 视频: 9-9 使用异步搜索解决海量数据的分析统计 (10:32)
    • 视频: 9-10 集群和索引层面的一些优化 (08:15)
    • 视频: 9-11 实现Elasticsearch服务日志查询 (03:44)
    • 视频: 9-12 收集Elasticsearch服务日志 (15:39)
  • 第10章 搜索场景:用户维度大文本搜索实战与优化之道 14 节 | 126分钟

    本章以邮件搜索为实战案例,主要介绍在用户维度大文本的搜索搜索场景下构建海量数据高性能搜索服务的注意事项以及优化手段。

    收起列表

    • 视频: 10-1 大文本搜索--章节导学 (02:16)
    • 视频: 10-2 邮件搜索业务场景和功能分析 (02:35)
    • 视频: 10-3 PB级数据的邮件搜索业务难点分析、 (07:38)
    • 视频: 10-4 服务分层避免大量写入拖慢集群 (06:32)
    • 视频: 10-5 用户维度的冷热分离让重度用户拥有极致的搜索体验 (05:19)
    • 视频: 10-6 空间换时间,提升搜索速度(本章未完结) (10:02)
    • 视频: 10-7 倒排索引与列存储分离,降低集群存储压力 (03:58)
    • 视频: 10-8 针对大文本索引数据在集群层面有哪些优化点? (09:25)
    • 视频: 10-9 针对大文本索引数据在索引层面有哪些优化点 (04:31)
    • 视频: 10-10 邮件搜索服务如何同邮件收发服务解耦(一) (15:21)
    • 视频: 10-11 邮件搜索服务如何同邮件收发服务解耦(二) (07:19)
    • 视频: 10-12 邮件数据的索引 (30:23)
    • 视频: 10-13 esrally的安装 (08:08)
    • 视频: 10-14 邮件数据集群的压测 (12:26)
  • 第11章 面试专题:ES高频面试精讲,征服面试官 11 节 | 95分钟

    本章主要介绍Elasticsearch相关的高频面试题以及解答技巧,帮助同学们更好的应对搜索相关的面试。

    收起列表

    • 视频: 11-1 面试专题-章节导学 (01:42)
    • 视频: 11-2 面试技巧 (一) (17:08)
    • 视频: 11-3 面试技巧 (二) (08:04)
    • 视频: 11-4 详细描述ES写入,更新,删除和查询的具体过程 (12:29)
    • 视频: 11-5 给你10台32核128G内存的机器,如何规划集群节点能让集群吞吐能力最大化? (08:41)
    • 视频: 11-6 平时常用的集群运维相关的api有哪些?具体是如何使用的? (一) (09:51)
    • 视频: 11-7 平时常用的集群运维相关的api有哪些?具体是如何使用的?(二) (13:37)
    • 视频: 11-8 段合并的具体过程是怎样的?哪些情况下会触发段合并? (09:14)
    • 视频: 11-9 与mysql的like查询相比,ES有哪些优势?为什么会有这些优势? (06:36)
    • 视频: 11-10 数字类型的字段应该如何设置mapping为什么? (02:34)
    • 视频: 11-11 针对读多写少和写多读少以及数据实时性要求不同的场景下有哪些对应的优化手段? (04:54)
  • 第12章 课程总结 1 节 | 4分钟

    本章主要对课程整体内容进行归纳总结。

    收起列表

    • 视频: 12-1 搜索服务实战-课程总结 (03:32)
本课程已完结

试看

全部试看小节



讲师

少林码僧 全栈工程师

讲师少林码僧,一直从事互联网项目的后端研发工作,有8年的一线开发经验。目前就职于国内的一家知名的互联网企业,从0到1主导了搜索中台的研发工作。我所负责的业务平台,在企业内部管理了上百个ES集群,核心业务有近千亿的数据规模,日均过亿的数据增量,在0到1建设整个搜索平台的过程中踩过很多坑也积累了很多经验,特别是针对海量数据规模的调优,总结了很多效果显著的优化手段和架构设计方案。

课程预览

检测到您还没有关注慕课网服务号,无法接收课程更新通知。请扫描二维码即可绑定
重新观看
意见反馈 帮助中心 APP下载
官方微信

学习咨询

选课、学习遇到问题?

扫码添加指导老师 1V1 帮助你!

添加后老师会第一时间解决你的问题