Go微服务精讲:Go-Zero全流程实战即时通讯

轻松应对复杂应用微服务设计,高效实践容器化组件管理,系统掌握Go 高薪关键技能

如何轻松应对复杂应用的微服务架构设计?如何实现高效的容器化组件管理,快速成为 Go 高薪工程师?本课程结合经典 IM 项目,带你深入微服务架构精髓,探究主流微服务框架Go-Zero框架底层运作机制和框架自研之道,让你从分布式系统架构设计、容器化部署管理、高并发性能提升、系统监控等,多维度掌握Go开发高薪技能,助力你快速成为行业急需人才。

适合人群
对GO微服务化感兴趣的同学
正在实践微服务,希望加深对微服务架构理解的同学
技术储备
熟悉GO基础操作
了解Linux基本应用
环境参数
go v1.19.*
grpc 1.57.*
go-zero 1.5.*
docker 18.*

目录大纲:

第1章 从0进入微服务需要了解的基础知识
7 节|42分钟

展开 

  • 视频:
    1-1 保姆级教学,带你落地GO微服务
    试看
    06:16
  • 视频:
    1-2 系统架构演化过程
    10:27
  • 视频:
    1-3 微服务核心要素之拆分原则
    05:39
  • 视频:
    1-4 微服务核心要素之服务化
    05:04
  • 视频:
    1-5 微服务核心要素之通信机制
    05:52
  • 视频:
    1-6 微服务核心要素之无状态
    07:59
  • 图文:
    1-7 【拓展】服务架构的设计原则
第2章 掌握rpc/grpc并探究内在本质
13 节|154分钟

收起 

  • 视频:
    2-1 rpc是什么?又如何实现服务通信?
    07:58
  • 视频:
    2-2 为什么是以rpc为主而不是restful?
    04:57
  • 视频:
    2-3 net/rpc实践案例
    12:15
  • 视频:
    2-4 看看netrpc的通信调度实现的内部原理
    11:48
  • 视频:
    2-5 grpc介绍与下载安装
    08:59
  • 视频:
    2-6 grpc框架实践案例
    22:05
  • 视频:
    2-7 protobuf的协议原理
    15:32
  • 视频:
    2-8 理解grpc的请求协议http2
    16:39
  • 视频:
    2-9 grpc的服务端连接调度实现原理分析(上)
    09:42
  • 视频:
    2-10 grpc的服务端连接调度实现原理分析(下)
    16:12
  • 视频:
    2-11 grpc的客户端请求发送实现原理分析
    12:26
  • 图文:
    2-12 【谈论】实现功能就好为什么还要阅读框架源码?
  • 视频:
    2-13 章节总结
    14:56
第3章 上手微服务框架go-zero
12 节|118分钟

收起 

  • 视频:
    3-1 微服务框架与web框架的区别点在哪儿?
    08:36
  • 视频:
    3-2 为什么选go-zero?
    07:30
  • 视频:
    3-3 下载并认识go-zero
    05:28
  • 视频:
    3-4 实践go-zero基础功能案例(api与rpc)–上
    11:20
  • 视频:
    3-5 实践go-zero基础功能案例(api与rpc)–下
    20:13
  • 视频:
    3-6 实践go-zero基础功能案例(数据库读写与中间件(上)
    14:27
  • 视频:
    3-7 实践go-zero基础功能案例(数据库读写与中间件(下)
    08:27
  • 视频:
    3-8 探究go-zero是如何基于grpc进一步扩展-server
    试看
    15:29
  • 视频:
    3-9 探究go-zero是如何基于grpc进一步扩展-client
    06:01
  • 视频:
    3-10 关于go-zero中的api服务启动流程
    10:00
  • 图文:
    3-11 【扩展】go-zero中集成gorm
  • 视频:
    3-12 章节总结
    10:01
第4章 微服务必备容器化技术
6 节|95分钟

展开 

  • 视频:
    4-1 docker介绍与安装及上手应用
    21:38
  • 视频:
    4-2 dockerfile介绍并创建go-zero环境容器(上)
    20:47
  • 视频:
    4-3 dockerfile介绍并创建go-zero环境容器(下)
    20:27
  • 视频:
    4-4 docker-compose编排(上)
    05:06
  • 视频:
    4-5 docker-compose编排(下)
    10:43
  • 视频:
    4-6 docker-compose编排(中)
    15:41
第5章 项目业务与架构分析并准备项目基础开展环境
3 节|17分钟

展开 

  • 视频:
    5-1 项目开展的业务需求与开展计划说明
    07:27
  • 视频:
    5-2 项目开展的基础环境构建
    09:20
  • 图文:
    5-3 【谈论】如何更好地学习新技术
第6章 构建用户/社交服务并分析服务发现与负载均衡原理
18 节|269分钟

展开 

  • 视频:
    6-1 构建用户服务并编写服务部署脚本及dockerfile(上)
    15:08
  • 视频:
    6-2 构建用户服务并编写服务部署脚本及dockerfile(下)
    15:49
  • 视频:
    6-3 完成用户服务注册,登入功能(上)
    18:56
  • 视频:
    6-4 完成用户服务注册,登入功能(下)
    07:48
  • 视频:
    6-5 用户服务中搜索,用户信息功能实现(上)
    14:23
  • 视频:
    6-6 用户服务中搜索,用户信息功能实现(下)
    14:14
  • 视频:
    6-7 数据库与缓存一致性问题
    17:59
  • 视频:
    6-8 go-zero在数据层使用的缓存机制实现分析
    06:27
  • 视频:
    6-9 构建userapi服务并完善用户服务登入注册api
    22:10
  • 视频:
    6-10 构建社交服务rpc服务并完成好友/群相关业务功能(上)
    22:18
  • 视频:
    6-11 构建社交服务rpc服务并完成好友/群相关业务功能(下)
    22:48
  • 视频:
    6-12 构建社交服务api服务并完成好友/群相关业务功能
    25:37
  • 视频:
    6-13 微服务治理之服务注册中心
    09:18
  • 视频:
    6-14 go-zero中微服务治理中心的具体实现原理
    19:57
  • 视频:
    6-15 go-zero中负载均衡实现原理
    14:55
  • 视频:
    6-16 发布并部署用户服务与社交服务
    13:23
  • 视频:
    6-17 章节总结
    07:43
  • 图文:
    6-18 go内核源码解析之源码阅读分析技巧
第7章 构建im服务并实现用户私聊及离线消息读取
26 节|421分钟

展开 

  • 视频:
    7-1 im通信服务构建思路说明
    02:36
  • 视频:
    7-2 理解websocket协议
    11:15
  • 视频:
    7-3 websocket应用案例
    07:42
  • 视频:
    7-4 im服务业务
    08:36
  • 视频:
    7-5 im服务业务功能(上)
    19:39
  • 视频:
    7-6 im服务业务功能(中)
    19:34
  • 视频:
    7-7 im服务业务功能(下)
    18:59
  • 视频:
    7-8 实现im服务用户登入连接
    13:54
  • 视频:
    7-9 如何检测用户是否在线?心跳检测又实现呢?
    17:59
  • 视频:
    7-10 实现im服务心跳检测
    33:30
  • 视频:
    7-11 理解用户与好友私聊实现流程
    09:56
  • 视频:
    7-12 实现用户与好友私聊实现流程
    32:42
  • 视频:
    7-13 消息可靠与收发优化
    试看
    16:38
  • 视频:
    7-14 引入kafka消息中间件,并构建异步队列服务
    16:05
  • 视频:
    7-15 基于kafka异步数据存储落地及消息通信(上)
    21:25
  • 视频:
    7-16 基于kafka异步数据存储落地及消息通信(中)
    20:15
  • 视频:
    7-17 基于kafka异步数据存储落地及消息通信(下)
    13:29
  • 视频:
    7-18 消息收发ACK(上)
    18:34
  • 视频:
    7-19 消息收发ACK(中)
    27:24
  • 视频:
    7-20 消息收发ACK(下)
    12:26
  • 视频:
    7-21 离线消息与历史消息分析
    14:31
  • 视频:
    7-22 实现用户拉取离线消息
    16:55
  • 视频:
    7-23 实现用户拉取离线消息(上)
    11:50
  • 视频:
    7-24 实现用户拉取离线消息(中)
    09:17
  • 视频:
    7-25 实现用户拉取离线消息(下)
    09:12
  • 视频:
    7-26 本章总结
    16:17
第8章 实现im服务消息群聊及消息可读未读
15 节|200分钟

展开 

  • 视频:
    8-1 理解用户与群组聊天功能的实现思路
    04:08
  • 视频:
    8-2 实现用户群聊功能
    23:38
  • 视频:
    8-3 完善群聊消息业务
    10:44
  • 视频:
    8-4 消息已读未读问题该如何实现?
    11:24
  • 视频:
    8-5 从0实现bitmap
    22:37
  • 视频:
    8-6 实现群聊消息已读未读(上)
    15:22
  • 视频:
    8-7 实现群聊消息已读未读(中)
    15:21
  • 视频:
    8-8 实现群聊消息已读未读(下)
    13:42
  • 视频:
    8-9 消息已读未读如何进一步优化?(上)
    14:45
  • 视频:
    8-10 消息已读未读如何进一步优化?(中)
    10:48
  • 视频:
    8-11 消息已读未读如何进一步优化?(下)
    12:37
  • 视频:
    8-12 发布部署IM服务
    09:54
  • 视频:
    8-13 如何实现用户在线离线状态
    07:10
  • 视频:
    8-14 实现用户在线状态维护
    17:18
  • 视频:
    8-15 本章总结
    10:09
第9章 构建api网关并优雅的处理各服务配置
9 节|107分钟

展开 

  • 视频:
    9-1 网关是什么?解决什么问题?
    05:36
  • 视频:
    9-2 下载并集成于apisix
    10:33
  • 视频:
    9-3 服务太多配置不好管理如何优雅处理?
    04:37
  • 视频:
    9-4 基于etcd做配置中心实现各个服务自动加载配置
    21:06
  • 视频:
    9-5 配置订阅实现动态加载最新配置
    21:49
  • 视频:
    9-6 实现im前后端数据交互(上)
    13:57
  • 视频:
    9-7 实现im前后端数据交互(下)
    25:32
  • 图文:
    9-8 【扩展】为IM服务核心集成服务发现机制
  • 视频:
    9-9 本章总结
    03:40
第10章 微服务请求任务的三大措施:超时,重试,幂等
10 节|92分钟

展开 

  • 视频:
    10-1 微服务中如果任务长时间没有响应会有什么问题?
    04:08
  • 视频:
    10-2 在go-zero中是如何实现请求超时的呢?
    06:48
  • 视频:
    10-3 微服务中任务失败后又如何进行重试?
    18:10
  • 视频:
    10-4 业务任务失败重试处理
    14:24
  • 视频:
    10-5 在微服务中如果任务多次重复请求会有什么问题?
    07:52
  • 视频:
    10-6 幂等性实现方式与思路分析
    06:02
  • 视频:
    10-7 实现社交服务创群请求幂等性(上)
    21:17
  • 视频:
    10-8 实现社交服务创群请求幂等性(下)
    08:50
  • 图文:
    10-9 【谈论】如何去分析一个问题呢?
  • 视频:
    10-10 本章总结
    04:25
第11章 高可用的三大利器:熔断,限流,降级
12 节|111分钟

展开 

  • 视频:
    11-1 熔断,限流,降级解决的问题与作用
    08:47
  • 视频:
    11-2 熔断与超时有什么区别点
    04:11
  • 视频:
    11-3 用户列表熔断处理
    07:27
  • 视频:
    11-4 解析go-zero中熔断的实现原理
    12:15
  • 视频:
    11-5 限流的实现方案有哪些
    10:24
  • 视频:
    11-6 对社交服务群接口限流
    16:35
  • 视频:
    11-7 go-zero中的限流器实现原理分析
    09:49
  • 视频:
    11-8 降级在架构中的类型有哪些
    04:55
  • 视频:
    11-9 go-zero的自动降级特技应用
    13:01
  • 视频:
    11-10 go-zero自动降级内部探索
    12:04
  • 图文:
    11-11 【谈论】有没有发现技术思想很多地方具有相似应用
  • 视频:
    11-12 本章总结
    11:18
第12章 对系统进行全面监控分析
15 节|191分钟

展开 

  • 视频:
    12-1 im服务消息发送失败如何定位问题
    04:15
  • 视频:
    12-2 理解链路跟踪的实现思路分析
    05:58
  • 视频:
    12-3 OpenTracing与jaeger理解及安装
    17:05
  • 视频:
    12-4 基于jaeger实现消息群用户列表的链路跟踪
    05:07
  • 视频:
    12-5 探究go-zero中链路跟踪的实现过程
    26:59
  • 视频:
    12-6 ELK日志收集三件套架构分析
    04:19
  • 视频:
    12-7 基于docker构建elk架构
    16:13
  • 视频:
    12-8 基于filebeat收集各个服务的日志信息
    08:44
  • 视频:
    12-9 配置Kibana仪表盘实现可视化
    02:55
  • 视频:
    12-10 如何实现对各个服务的性能监控?
    04:51
  • 视频:
    12-11 promethues+grafana安装部署
    18:31
  • 视频:
    12-12 实现对im通讯服务性能的监控
    15:23
  • 视频:
    12-13 go-zero与elk巧妙结合(上)
    27:14
  • 视频:
    12-14 go-zero与elk巧妙结合(下)
    20:45
  • 视频:
    12-15 本章总结
    11:54
第13章 创新加持:自研助力企业进阶与个人成长
10 节|111分钟

展开 

  • 视频:
    13-1 为什么需要自研?满足企业需求、提升个人能力
    05:39
  • 视频:
    13-2 框架的构建核心结构设计分析
    05:52
  • 视频:
    13-3 基于grpc实现框架rpc_server
    14:58
  • 视频:
    13-4 基于grpc实现rpc_client
    16:59
  • 视频:
    13-5 集成服务发现机制(上)
    08:43
  • 视频:
    13-6 集成服务发现机制(下)
    16:49
  • 视频:
    13-7 集成负载均衡机制
    15:10
  • 视频:
    13-8 请求超时重试处理
    17:12
  • 视频:
    13-9 课程总结
    09:25
  • 图文:
    13-10 【谈论】平时我们该如何提升自己的能力
本课程已完结