先说清楚:这门课现在还值不值得学
在微服务架构里,服务注册、发现和调用是绕不开的核心概念。现在主流编排工具已经是 Kubernetes,但如果你在老项目里遇到 Go-Micro 框架,或者想从底层逻辑弄懂微服务之间是怎么互相找地址、怎么负载均衡的,这套实战课依然有它的参考价值。需要提醒的是,资料里明确标注了技术栈偏旧,录制时基于的框架版本较早。如果你的目标是直接应对当下的云原生环境,建议优先转向 K8s 体系;如果你想补齐 Go 语言生态下微服务的基础概念,这套资料可以作为理解服务治理的过渡素材来读。
解决什么场景,学完能独立做什么
这套课解决的是“懂了微服务理论,但不知道怎么用 Go 落地写代码”的问题。它把重点放在了从零搭建一个 Web API 到实现服务间通信的完整链路上。资料里用到了 Gin 来处理外部 HTTP 请求,用 Consul 做服务注册中心,并详细演示了服务发现时的随机选择和轮询机制。学完之后,你应该能独立写出一个基础的微服务雏形:把多个独立的服务注册到 Consul 中,让主服务通过发现机制找到它们,并且用基本方式和插件方式完成服务调用。对于需要接手老项目、排查服务注册发现环节报错的开发者来说,这些套路能帮你快速定位问题。
资料怎么看,配合练习建议
这套资料适合有 Go 语言基础、能看懂基本语法,但对微服务框架还没实操经验的开发者。如果是零基础转行,建议先补齐 Go 的基础语法,不然跟着敲代码容易卡在环境报错上。看的时候建议按三个阶段走:先把热身和 HTTP API 部分看完,用 Gin 跑通第一个接口;接着重点看 Consul 服务注册和发现部分,这部分是核心,一定要自己在本地装个 Consul,跟着把服务注册上去,手动开启多个服务实例,观察轮询调用的实际效果;最后看服务调用环节,对比直接调用和使用插件调用的区别。练习时不要光看,每学完一个讲次就自己写个测试用例去请求,把服务跑通。遇到框架版本差异导致的报错,对照官方文档查一下改动说明,这也是实际工作中排查依赖版本问题的必经过程。
[本课程已过时,由K8S课程全面接管](录制课程时go-micro版本是v1.9.1。后面课时会更新到1.14+,会有变动说明)本课程是后面的&
课程目录
* 第一章:热身和http api篇 cplist.push('第一章:热身和http api篇');/
* 第1讲:开张课、安装框架、创建第一个web api
* 第2讲:引入外部框架gin生成web API
* 第3讲:服务注册:快速把服务注册到Consul中
* 第4讲:[准备工作课]模拟运行API(主站API、商品API)
* 第5讲:服务发现(1):获取consul服务列表、selector随机选择
* 第6讲:穿插知识点:使用内置命令参数启动、注册多个服务
* 第7讲:服务发现(2):开启多个服务、用轮询方式获取服务
* 第8讲:服务调用:基本方式调用 Api(http api)
* 第9讲:服务调用: 使用插件、调用http api的正规姿势(初步)
* 第10讲:调用http api的姿势:带参数调用(有思考题)
* 第11讲:调用http api:引入protobuf、生成参数和响应模型
* 第12讲:处理参数模型中的json tag不一致问题
* 第二章:rpc和微服务 cplist.push('第二章:rpc和微服务');/
* 第13讲:使用rpc构建一个简易商品服务、注册到consul
* 第14讲:在gin中调用上节课构建的rpc服务(获取商品列表)
* 第15讲:在gin中调用rpc服务(参数名处理、代码基本封装)
* 第16讲:Go-micro的装饰器wrapper的初步使用(中间件)
* 第17讲:熔断器使用(1):hystrix初步、捕获超时报错
* 第18讲:熔断器使用(2):服务降级的使用
* 第19讲:熔断器使用(3):初步整合hystrix到go-micro中
* 第20讲:上节课课后作业:增加商品详细API(rpc)
* 第21讲:熔断器使用(4):通用降级方法的编写姿势
* 第22讲:熔断器使用(5):熔断器的参数设置
* 第三章:Micro工具篇(变动部分看第五章) cplist.push('第三章:Micro工具篇(变动部分看第五章)');/
* 第23讲:微服务工具箱(运行时)学习:了解Micro、复习、列出所有服务
* 第24讲:使用Micro工具查看和调用我们的服务
* 第25讲:使用Micro为我们的rpc服务创建http api网关
* 第26讲:(选学)创建grpc网关的基本设置和运行方法
* 第四章:场景练习之用户注册 cplist.push('第四章:场景练习之用户注册');/
* 第27讲:复习课、基本接口(用户注册接口)
* 第28讲:引入gorm、用户数据入库
* 第29讲:用户注册场景:数据验证(1):第三方验证库、自定义错误信息
* 第30讲:用户注册场景:数据验证(2):自定义验证tag、正则验证
* 第31讲:用户注册场景:数据验证(3) :切片属性的验证(string切片)
![[本技术栈已淘汰,现在应该学习k8s]Go-Micro微服务框架实战套路速学(第一波)](/_next/image?url=%2Fapi%2Fuploads%2F8cd4f084-4510-45bf-9b09-7893c0a3b534.jpg&w=1920&q=75)





