go-kit 微服务入门:值不值得学
课程标题里那句“现在都是 k8s 了别学了”有点标题党,但确实点出了一个事实:go-kit 不是大一统框架,而是一套微服务工具集。它解决的核心场景是:用 Go 写业务时,怎么把日志、链路跟踪、服务注册发现这些微服务基础设施拼起来,而不是一上来就背一堆 k8s 编排概念。所以如果你正在做中小规模后端、想搞清楚“微服务到底在搭什么”,这套课比直接啃 k8s 更对路。但如果你已经用上 k8s 全家桶、只是想找个开箱即用的脚手架,那它确实不是最优解,go-kit 更偏“自己拼零件”的思路。
适合什么基础、建议先看哪几块
这课不适合零基础。你得先能独立写一个 Go 的 http 服务,懂结构体、接口、中间件的基本写法,否则到三层架构和路由那一节会卡住。建议的看课顺序是:先看开张课和搭建第一个 http 服务这两讲,确认自己能跟得上 go-kit 的三层架构(transport/endpoint/service)分层方式;如果这里就觉得抽象,建议先补 Go 基础再回来。能跟上之后,直接跳到 Consul 那几讲——单节点部署、向 Consul 注册、退出时反注册、优雅关闭,这几块是 go-kit 区别于“写个 web 接口”的关键,也是后面服务发现的前提。服务发现的两讲(客户端直连、通过 consul 获取实例)放最后看,因为没前面的注册逻辑,这两讲跑不起来。
学完能独立做什么、资料怎么配合练习
学完之后你能独立做一件具体的事:用 go-kit 写一个支持外部路由、按 HttpMethod 分发、能注册到 Consul、退出时能优雅反注册的 http 微服务,并让另一个客户端通过 Consul 发现它再调用。这套东西搭完,你对“微服务为什么要分层、为什么要服务注册”会有体感,而不是停留在名词。资料配合上,建议这样:视频先快速过一遍第 1 到第 4 讲,知道 go-kit 的目录结构和分层约定;然后停下来,照着第 2、第 3 讲自己敲一遍本地服务,不要直接跑现成代码。第 5 到第 7 讲的 Consul 部分,先把单节点跑起来,再对照视频里的注册和反注册代码改自己的服务。第 8、第 9 讲的服务发现,务必写两个进程分别当服务端和客户端,在本机跑通直连和 Consul 发现两种方式,再对比两种调用差异。补充课时如果讲的是健康检查或实例过滤,放在最后补,别一开始就钻进去。整套练下来,你手里会有一个能跑、能注册、能被发现的最小微服务,这比看完所有视频却没动手强得多。
【淘汰了,现在都是k8s了别学了】go-kit不是一个框架,它是微服务工具集。使用它可以构建强大、灵活、可维护的微服务体系,包含了日志记录、API网关、链路跟踪
课程目录
* 第1讲:开张课、了解go-kit、搭建第一个http服务(上)
* 第2讲:搭建第一个http服务(下):三层架构、本地服务运行
* 第3讲:Http服务学习:让我们的服务支持外部路由
* 第4讲:Http服务学习:通过HttpMethod执行不同的服务方法
* 第5讲:简单部署单节点Consul、简学API、手动注册和删除服务
* 第6讲:服务注册(1):使用go向Consul注册服务的基本方法
* 第7讲:Go退出时向Consul反注册服务的基本方法、优雅关闭服务
* 第8讲:服务发现(1):客户端直接调用服务(直连方式)
* 第9讲:服务发现(2): 通过consul获取服务实例、调用测试
* 第10讲:补充课时:根据命令行参数注册多个服务
* 第11讲:使用负载均衡的方式调用服务(轮询方式)
* 第12讲:使用负载均衡的方式调用服务(随机方式)
* 第13讲:API限流(1):go内置的rate包学习(上)—Wait/WaitN
* 第14讲:API限流(2):go内置的rate包学习(下)—AllowN、http server测试
* 第15讲:API限流(3):集成限流功能到我们的服务中
* 第16讲:统一异常处理(上):编写自定义处理函数
* 第17讲:统一异常处理:设置自己的Error对象
* 第18讲:服务容错、熔断器学习(1):入门、基本运行
* 第19讲:熔断器学习(2):配置command、超时报错、设置最大超时时间
* 第20讲:熔断器学习(3): 超时情况下的服务降级写法
* 第21讲:熔断器学习(4): 异步执行和服务降级
* 第22讲:熔断器学习(5): 控制最大并发数
* 第23讲:熔断器学习(6): 熔断器的打开与参数设置
* 第24讲:熔断器学习(7): 熔断器的三种状态、状态获取
* 第25讲:熔断器学习:把熔断器整合到我们的客户端代码中(初步)
* 第26讲:日志(1):最基本的日志输出方式、内置日志包使用
* 第27讲:日志(2):使用中间件的方式 包装日志输出
* 第28讲:Jwt集成(1):使用第三方库、token的基本生成和验证
* 第29讲:Jwt集成(2):生成公私钥、非对称加密生成和解析token
* 第30讲:Jwt集成(3):token设置过期时间、异常判断
* 第31讲:Jwt集成(4):请求tokenAPI、中间件的方式集成token认证、用户信息传递






