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

全新 ES8 配合技术组件,实现高性能搜索,帮助后端人员突破搜索服务开发瓶颈
有应用的地方就会有搜索,有搜索的地方就能使用 Elasticsearch 来实现,Elasticsearch 用起来简单,但想要做好还是有很高的技术门槛的。要用 Go 语言构建搜索服务,并完成海量数据的优化方案,缺乏经验就会有诸多问题暴露,难免走弯路。本课程通过对基础技能到实战项目的深度解读,带你夯实 ES+Go 的底层技能,积累实战经验,一举跃升经验丰富的 Go 语言开发者。

适合人群
2年以上后端开发经验的
使用ES遇到性能问题的
缺少高性能搜索服务实际经验的
技术储备
需要至少掌握一门后端开发语言,Golang最佳
对ES有一定的了解,有ES初步的使用有经验的
环境参数
开发工具 Goland
CentOS 7.8
Golang 1.16
Elasticsearch 8.1.2

章节目录:

第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 节 | 121分钟
本章以日志搜索为实战案例,主要介绍在时序型数据的搜索搜索场景下构建海量数据高性能搜索服务的注意事项以及优化手段。

收起列表
视频:
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 冷热分层原理及实践(一) (18:54)
视频:
9-8 冷热分层原理及实践(二) (10:08)
视频:
9-9 使用异步搜索解决海量数据的分析统计 (10:32)
视频:
9-10 集群和索引层面的一些优化 (08:15)
视频:
9-11 收集Elasticsearch服务日志 (15:39)
视频:
9-12 实现Elasticsearch服务日志查询 (03:44)
第10章 搜索场景:用户维度大文本搜索实战与优化之道 9 节 | 53分钟
本章以邮件搜索为实战案例,主要介绍在用户维度大文本的搜索搜索场景下构建海量数据高性能搜索服务的注意事项以及优化手段。

收起列表
视频:
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)
第11章 面试专题:ES高频面试精讲,征服面试官
本章主要介绍Elasticsearch相关的高频面试题以及解答技巧,帮助同学们更好的应对搜索相关的面试。

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

本课程持续更新中

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注