这门课的主题很明确:Go 语言写微服务,并且把它放到云原生环境里跑起来。它要解决的不是"Go 语法会不会"的问题,而是很多人卡住的那一步——本地能写单文件程序,一到真实项目就不知道服务怎么拆、服务之间怎么调、上线后怎么部署和观测。如果你正在做单体应用想往微服务转,或者面试被问到服务治理、容器化部署答不上来,这门课对应的就是这些场景。

适合什么基础,不适合什么基础

前提是已经会 Go 的基本语法:变量、函数、结构体、接口、goroutine 和 channel 能看懂也能写。课程从 Go 的核心特性讲起,但节奏是往工程方向走的,不是从零教语法。如果你连 Go 都没写过,先补基础再来,否则并发和工程组织那几块会跟不上。反过来,如果你已经写过一两年 Go 业务代码,只是没系统做过微服务拆分和容器化部署,这门课的匹配度最高。它不适合只想学语法刷题的人,也不适合指望学完就能拿到某个具体岗位的人——它给的是能落地的工程能力,不是承诺。

建议先看哪几块,学完能做什么

建议按这个顺序推进:先过 Go 核心特性与并发实战那一块,重点是并发任务调度这类真实写法,而不是语法复述;接着进微服务部分,把服务拆分、服务间通信、注册发现、配置管理这几件事弄明白;最后进云原生工具链,容器化打包、编排部署、日志与监控这条链路走一遍。学完之后,你应该能独立做这些事:把一个单体 Go 项目按业务边界拆成几个服务,让它们能互相调用并处理失败情况;把服务打成镜像、写编排配置、在集群里部署并滚动更新;出问题时能通过日志和监控定位到是哪个服务、哪一段逻辑。这些是能写进简历、也能在面试里讲清楚的东西。

资料怎么配合练习

资料里的理论讲解适合当参考,不要从头到尾顺看一遍就以为学完了。更有效的用法是:每看完一个模块,立刻在自己的机器上复现一遍最小可运行版本,哪怕只是两个服务互相调通。微服务和云原生这两块,光看不动手几乎等于没学,注册发现、配置热更新、容器网络这些概念,只有自己踩过坑才记得住。遇到卡住的地方再回头翻对应章节,比按顺序刷效率高。另外,练习时尽量用一个自己熟悉的小业务当载体,比如订单或用户中心,把课程里的技术点往这个业务上套,学完留下的不只是一堆笔记,而是一个能讲清楚的项目。

课程目录

课程目录12 条
  • 01 微服务概述
  • 01 微服务架构介绍
  • 02 gRPC和protocol buffers
  • 01 RPC介绍与本地调用、API调用
  • 02 Go语言标准库实现RPC
  • 03 gRPC开发环境搭建
  • 04 gRPC开发的三个步骤
  • 05 gRPC开发示例之server端
  • 06 gRPC开发示例之client端
  • 07 protobuf语法 08 Go语言protobuf开发1 09 Go语言protobuf开发2
  • 10 protobuf使用oneof字段示例
  • 11 protobuf中使用WrapValue类型
  • 12 protobuf中使用FieldMask字段
  • 13 gRPC开发实现add服务作业讲解
  • 14 流式RPC
  • 15 gRPC元数据metadata介绍
  • 16 gRPC元数据metadata示例
  • 17 gRPC错误处理
  • 18 gRPC基于TLS实现安全通信
  • 19 gRPC拦截器介绍
  • 20 gRPC-Gateway
  • 21 gRPC转码和HttpRule 22 bookstore练习1 23 bookstore练习2
  • 24 基于游标的分页
  • 24 基于游标的分页 博客.txt 25 bookstore实现基于游标分页的booklist接口
  • 26 同一个端口提供gRPC API和HTTP API服务
  • 27 gRPC中的名称解析和负载均衡
  • 27 博客.txt
  • 03 服务注册与服务发现
  • 01 服务注册与服务发现原理
  • 02 注册中心的技术选型及Consul介绍
  • 03 Raft协议介绍
  • 04 Consul架构介绍 05 使用docker-compose搭建consul环境
  • 06 Consul Agent HTTP API
  • 07 将gRPC服务注册到consul
  • 08 基于consul的服务发现
  • 09 consul名称解析器补充及源码分析
  • 10 手动服务注销及健康检查失败后自动注销
  • 11 基于consul的负载均衡
  • 12 gRPC负载均衡源码分析
  • 13 【加餐】常用Go技巧之函数选项模式
  • 04 Go语言微服务框架
  • 01 Go语言微服务框架概述
  • 02 Go-kit 介绍
  • 03 Go–kit 开发示例
  • 04 Go kit gRPC示例
  • 05 为gRPC Server编写单元测试
  • 06 Go-kit项目结构拆分
  • 07 Go-kit中间件介绍
  • 08 Go-kit限流中间件和metrics中间件
  • 09 Go-kit调用其他服务
  • 10 Go-kit服务发现和负载均衡
  • 11 go-zero框架介绍及创建项目示例
  • 12 go-zero框架goctl安装及命令详解
  • 13 go-zero框架api语法介绍
  • 14 go-zero项目编码规范及目录结构
  • 15 go-zero框架MySQL配置及model操作
  • 16 go-zero完成注册功能
  • 17 go-zero框架缓存的使用
  • 18 go-zero框架日志组件
  • 19 login和detail接口开发
  • 20 go-zero框架使用JWT鉴权
  • 21 go-zero框架中间件
  • 22 go-zero框架编写RPC服务
  • 23 go-zero框架调用RPC服务
  • 24 go-zero使用consul作为注册中心
  • 25 go-zero框架RPC拦截器和metadata
  • 26 go-zero框架自定义错误处理
  • 27 go-zero框架修改模板生成自定义代码
  • 28 短链接项目介绍
  • 29 短链接实现原理
  • 30 短链接项目需求拆解和分析
  • 31 短网址项目课件.pdf
  • 31 短链接项目技术方案
  • 32 短链接项目之搭建项目骨架
  • 33 短链接项目之长链接校验
  • 34 短链接项目之编写单元测试
  • 35 短链接项目之实现取号器 36 短链接项目之62进制转链
  • 37 短链接项目之查看短链 38 singleflight介绍及go-zero中的应用
  • 39 短网址项目课件.pdf
  • 39 短链接项目之布隆过滤器防缓存穿透
  • 40 短链接项目总结
  • 41 短网址项目课件.pdf
  • 41 短链接项目扩展及简历(参考资料在PC端左下角!手机上看不到!)
  • 42 kratos框架.pdf
  • 42 kratos框架介绍及示例
  • 43 kratos定义API并生成代码
  • 44 kratos项目结构及请求流程梳理
  • 45 依赖注入工具wire
  • 46 kratos框架配置
  • 47 kratos框架业务逻辑实现
  • 48 kratos框架自定义HTTP响应格式
  • 49 kratos框架日志模块
  • 50 kratos框架.pdf
  • 50 kratos框架中间件
  • 51 小清单前端代码讲解
  • 52 项目实战之评价服务项目介绍
  • 53 评价评论系统课件.pdf
  • 53 项目实战之评价服务架构设计(课件在网页左下角附件)
  • 54 项目实战之评价服务数据表设计
  • 55 项目实战之评价服务框架搭建
  • 56 项目实战之GEN框架使用指南 57 项目实战之创建评价接口实现1 58 项目实战之创建评价接口实现2
  • 59 项目实战之validate参数校验和错误处理
  • 60 项目实战之创建评价回复(防水平越权) 61 项目实战之商家端搭建(多项目proto文件管理及git submodule)
  • 62 项目实战之商家端RPC调用评价微服务
  • 63 项目实战之服务注册与服务发现
  • 64 项目实战之商家端和运营端
  • 65 Canal介绍和使用指南 66 Kafka介绍及使用docker-compose搭建开发环境 67 Kafka-go使用及canal将MySQL变更写入Kafka
  • 68 CQRS架构和Elasticsearch介绍
  • 69 go_elasticsearch介绍
  • 70 review-job实现从Kafka中读取消息
  • 71 review-job 实现写入ES 72 实现基于ES的评价搜索功能1 73 实现基于ES的评价搜索功能2
  • 74 查询评价增加缓存及singleflight
  • 75 补充kratos框架生成openapi文档 76 评价服务简历面试辅导(课件在网页端左下角,手机上看不到)
  • 76 评价评论系统课件.pdf
  • 05 网关
  • 01 网关.pdf
  • 01 网关概述(课件在网页左下角附件)
  • 02 Kong网关.pdf
  • 02 Kong网关核心概念及环境搭建
  • 03 Kong网关路由转发及流量切分
  • 04 Kong常用插件之限流、缓存和JWT
  • 06 OpenTelemetry 链路追踪
  • 01 OpenTelemetry介绍
  • 02 OpenTelemetry Go示例
  • 03 Jaeger 使用指南
  • 04 基于OTel的HTTP链路追踪
  • 05 gRPC的链路追踪
  • 06 GORM采集trace数据
  • 07 Redis采集trace数据 08 zap日志库、go-zero及kratos分布式追踪说明 课件资料
  • 资料下载地址.txt