先判断:这门课值不值得你花时间
这份资料围绕 Go 语言、Kubernetes 以及 Istio 服务网格展开,核心定位是微服务架构的落地实训。如果你平时只写单体应用,或者刚学完 Go 语法却不知道怎么在真实集群里部署服务,那它值得看。但如果只是想补 Go 基础语法,或者完全没碰过容器,这套内容会显得跨度偏大。它真正解决的问题是:业务代码写完后,怎么和 K8s 声明式 API 对接,怎么用 Istio 做流量治理,以及怎么让 Grpc 服务在网格里跑通。课程比较克制,没有花篇幅讲理论,而是直接带你进入一个需要兼顾业务开发和运维级开发双重视角的实训场景。
资料怎么用:先看哪几块,怎么配合练习
建议有一定 Go 和 Grpc 基础的人来学。资料包的编排逻辑是先搭架构再写代码,所以别一上来就钻进具体实现细节。第一遍建议先看架构设计篇,重点理解声明式业务 API 的设计套路,以及 Istio 聚合服务的基本实现思路。这部分讲透了资源如何用程序获取、服务注册怎么流转,是整个实训的骨架。摸清骨架后,再进入 API 编码和实现部分,跟着项目目录结构把模型创建和接口逻辑敲一遍。练习时不要光看视频,务必自己搭一套本地 K8s 环境,把资料里的声明式 API 调用和 Istio 资源操作跑通。遇到卡壳的地方,回去对照架构篇的流转流程图,很多报错其实是服务注册或网格配置没对齐导致的。
学完能独立做什么
完整跟下来后,你应该能独立完成一个微服务项目的架构搭建。具体来说,能设计符合 K8s 声明式规范的 API,能用 Go 代码操作 Istio 资源实现服务聚合,也能基于 Grpc 把仓储层独立出来并和数据库对接。更重要的是,你会具备跨岗位的视角:既知道业务程序员怎么写接口,也清楚运开岗位怎么把服务注册到网格里、怎么验证流量流转。这种能力不是单纯会写几行 Go 代码,而是能在团队里把微服务从编码到部署的链路串起来。如果你正打算转做云原生方向的后端,或者在公司里需要接手 Istio 相关的运维开发活儿,这套实训能帮你把零散的 K8s、Go 和服务网格知识捏成一个能落地的整体。
通过前面的课程我们掌握了k8s、istio、gin、grpc等,接下来我们需要暂停下做实训课,巩固前面的知识。本课程同时模拟业务程序员和运维级开发两个岗位来构建
课程目录
* 第一章:架构设计篇 cplist.push('第一章:架构设计篇');/
* 第1讲:开张课、课程架构
* 第2讲:关于本课程业务程序员和运开两类角色的cosplay说明
* 第3讲:准备工作:如何用程序获取istio的资源(1.10版本)
* 第4讲:模拟k8s设计声明式业务API的套路
* 第5讲:业务API的整体流转流程(含验证)
* 第6讲:系统架构之声明式业务API的服务注册
* 第7讲:基于istio的聚合服务基本实现套路(定稿)
* 第8讲:基于Grpc的独立仓储实现层设计(数据库相关)
* 第二章:API编码和实现 cplist.push('第二章:API编码和实现');/
* 第9讲:项目基本目录结构、模型创建(protobuf)
* 第10讲:创建service(protobuf)、创建请求实体
* 第11讲:集成gin脚手架、设置第一个路由
* 第12讲:初步建立简易的仓储层
* 第13讲:第一阶段部署和测试、虚拟服务和网关创建
* 第14讲:增加用户注册接口、虚拟服务多接口设置
* 第15讲:随手创建前端(vue+ssr)、准备工作
* 第16讲:前端请求API(1)本地请求
* 第17讲:前端请求API(2):远程请求
* 第三章:通用DB服务的架构和开发(grpc) cplist.push('第三章:通用DB服务的架构和开发(grpc)');/
* 第18讲:通用DB服务的基本设计(GRPC)
* 第19讲:DB服务的基本代码结构
* 第20讲:DB服务(2) 参数传递
* 第21讲:DB服务(3) sql优先级设置
* 第22讲:DB服务(4)集成cobra、配置文件重载机制
* 第23讲:DB服务(5)支持增删改操作
* 第24讲:DB服务(6)新增支持lastInsertID
* 第25讲:通用DB服务(6)支持事务操作(上):基本设计思路
* 第26讲:通用DB服务(6)支持事务操作(下):代码演示
* 第27讲:创建SDK(1):基本套路、创建外部git仓库
* 第28讲:创建SDK(2):外部调用gitea仓库代码
* 第29讲:创建SDK(3):架构回顾、参数构建器
* 第30讲:创建SDK(4):查询结果映射为Struct
* 第31讲:创建SDK(5):增删改部分的返回处理
* 第32讲:创建SDK(6):封装grpc.Client、超时处理(初步)
* 第33讲:创建SDK(7): 超时处理(封装)—上节课课后作业
* 第34讲:创建SDK(8): 事务操作的SDK编写(演示)
* 第35讲:创建SDK(9): 取库存事务代码演示(上)
* 第36讲:创建SDK(9): 取库存事务代码演示--乐观锁






