首页 体系课 Go开发工程师
Go开发工程师
风口上的技术,薪资水平遥遥领先,现在学习正值红利期!
未来3-5年,Go语言势必成为企业高性能项目中不可替代的语言
从基础到项目实战再到重构,对转行人员友好,真正从入门到精通!
34 课程内容
16 个月 教学服务期限
150 小时 视频时长
447 学习人数
100% 好评度
34 课程内容
16 个月 教学服务期限
70000 手敲代码
2 企业及项目
16+ 实操案例
447 学习人数

优惠价 ¥3288.00

7天可退款 ¥3888

加购物车 立即购买

Go-后端新晋网红语言,大厂和独角兽的新宠

大厂纷纷在用Go重塑架构,独角兽都倾向用Go搭建底层
  • 更优异的性能表现
  • 近C的执行性能
  • 近解析型语言的开发效率
  • 近乎完美的编译速度
  • 强大的稳定性保障
  • 更诱人的就业前景
  • 学习曲线平缓,上手难度低
  • 大厂和独角兽公司都在用
  • 一线城市薪资可达30k-50k
  • 更广阔的的技术应用
  • 微服务高并发场景
  • 中间件容器化
  • 云原生物联网
  • 区块链服务编排
  • 字节
  • 哔哩哔哩
  • 旷视
  • 百度
  • 小米

转型Go开发,掌握第二语言,现在就是最好的时机!

想转型Go开发
Go开发工程师薪资高,前景好
现在转型正当时
想扩展第二语言
技多不压身,提早踏上风口,就能在机会到来时牢牢把握
想进大厂
国内外大厂都在布局Go开发业务掌握Go语言是弯道超车的捷径
初级Go工程师
基础薄弱,缺乏企业级项目的经验,也不了解深层次原理

经典好课全面升级,带你更快成为合格的Go工程师

【技术】与【项目实战】双重提升,收获立竿见影!
细致讲解Go基础知识,分析与其他语言的异同,实现快速入门。
  • 容器类型
  • 编程思想
  • 工程化
  • 并发编程
  • 设计模式
全面理解微服务和分布式应用,掌握电商系统和后台管理系统。
  • 电商系统功能
  • 分布式锁
  • 分布式事务
  • 库存超时归还
  • 微服务功能
深入底层细节,摆脱框架限制,面试得心应手。
  • 底层源码讲解
  • Errors机制
  • Log封装
  • 链路追踪和服务监控
  • 设计模式的理解及应用
  • 项目开发中的仓库管理、
      服务开发、测试规范
掌握代码设计规范、编码规范、开发到上线全流程。
  • 应用gmicro重构项目
  • 代码分层结构
  • Sqlmock、gomock等实
      现单元测试
  • 设计模式重构代码
  • Dtm等分布式事务框架
  • 项目的CI/CD持续集成
  • k8s项目发布
60000+

代码量

50+

Go核心技术模块

100+

面试考点

20+

Go第三方库

不仅局限于技术本身,更让你成为综合素养更强的出众程序员!

降低转行人员学习成本
  • 将复杂技术融合到项目中应用实践
  • 庖丁解牛般讲解原理
  • 结合不同语言对比讲解
  • 核心知识着重强调,减少记忆负担
  • 满足快速转行需求
注重工程化实践
  • 掌握在实际工作中自定义插件
  • 掌握代码自动生成
  • 掌握正确的代码仓库管理
  • 上线到k8s环境
  • 对Go的知识点理解更加深入
      方便公司内部推广开发规范
重视开发规范
  • 强调代码管理
  • 手把手培养规范代码写作
  • 拒绝代码重依赖
  • 提升团队协作效率
  • 突破转正、涨薪、晋升瓶颈
提升技术领导力
  • 深入讲解源码和框架重构内容
  • 学会统一公司内部框架
  • 迭代维护及增加更多定制化功能
  • 定制化底层库
  • 让你在公司有更多话语权

实战项目分为两大环节,分别解决广度和深度需求

从0到1开发企业级微服务项目,上手分布式开发,收获全流程开发能力
项目简介:全流程电商

通过一个完善的电商系统快速体验系统开发全流程,熟悉web开发、从0到1熟悉微服务开发全流程,熟知分布式开发细节,把Go基础知识融会贯通,体验企业级项目全流程拓宽技术广度。

核心功能模块:
  • 商品管理

  • 支付管理

  • 库存管理

  • 订单管理

所用技术栈:

redis、mysql、elasticsearch、rocketmq、grpc、gin、viper、jaeger、nacos、sentinel、yapi、分布式锁、分布式事务、gorm、负载均衡、服务注册、服务发现oss、幂等机制、kong、jenkins等

点击体验电商系统:http://go.projectsedu.com/

点击体验电商后台管理系统:http://go2.projectsedu.com/

深入Go工程化实践,提升自研能力,技术深度提升
项目简介:自研微服务框架-gmicro

基于以上项目,带你从0到1自研微服务框架,熟悉底层细节、通过设计模式提高代码质量,源码解读,更规范的代码设计、更深入的底层细节理解。熟悉系统上k8s部署的完整部署流程,让你加强技术深度。

核心功能模块:
  • rpc服务

  • errors模块

  • log日志模块

  • 链路追踪模块

  • 监控模块

  • k8s部署

所用技术栈:

cobra、grpc源码、protoc插件开发、ast开发、errors设计、log日志设计、dtm分布式事务框架、kratos、go-zero、open-telemetry、prometheus、grafana、sqlmock、gomock、gomonkey、模糊测试、泛型、三层代码架构、设计模式、服务注册/发现源码、 负载均衡原理、CI/CD、k8s、kubesphere、harbor等

精细 · 深刻 · 实用的 Go 开发知识体系

课程大纲及学习周期安排 (详细版)

为保证课程内容紧跟市场变化,课程章节逐步开放,直至课程完结

阶段一: Go语言基础入门和并发编程
  • 第1周
  • 第2周
  • 第3周
Go基础知识入门

Go基础语法快速入门,本周通过和其他语言对比讲解go语言的细节,让你知其所以然。

课程安排:
  1. 1、开发环境搭建
  2. 2、变量定义和使用
  3. 3、iota常量定义
  4. 4、变量作用域
  5. 5、byte类型字符
  6. 6、rune类型的定义使用
  7. 7、整数、浮点数定义和类型转换
  8. 8、format数据格式化
  9. 9、字符串相关操作
  10. 10、高性能字符串相关操作
  11. 11、转义符相关
  12. 12、if条件判断控制分支
  13. 13、for、break、continue进行循环控制
  14. 14、for range进行数据遍历
  15. 15、goto语句进行代码跳转
  16. 16、switch进行分支控制
容器,go编程思想

Go到底支不支持面向对象? go如何实现动态类型?go的接口意味着什么?go的指针和c语言的指针有什么区别?本周将带您一一讲解。

课程安排:
  1. 1、数组、多维数组定义和使用
  2. 2、slice切片相关操作
  3. 3、切片的原理
  4. 4、省略号在go中的作用
  5. 5、map定义和使用
  6. 6、list相关的操作
  7. 7、函数和函数的闭包特性
  8. 8、defer定义和应用
  9. 9、recover进行异常捕获
  10. 10、error和panic进行错误和异常操作
  11. 11、结构体、空结构体定义和使用
  12. 12、go语言如何实现面向对象特性
  13. 13、结构体的jsontag定义和使用
  14. 14、指针和nil
  15. 15、鸭子类型和接口
  16. 16、通过interface进行动态类型赋值
Go并发编程和工程管理

go高性能的原理是什么?context的应用场景是什么?go如何进行模块管理?如何进行单元测试?本周为您详解。

课程安排:
  1. 1、import和package包管理
  2. 2、go get、mod相关命令
  3. 3、单元测试编码
  4. 4、benchmark性能测试编码
  5. 5、表格驱动测试
  6. 6、goroutine并发编程
  7. 7、go的GMP调度原理
  8. 8、waitgroup进行并发控制
  9. 9、互斥锁和读写锁的应用
  10. 10、通过channel进行goroutine通信
  11. 11、select进行多channel的监控
  12. 12、通过context控制goroutine的取消、超时控制和值传递
阶段二: Go电商项目- 微服务基础
  • 第4周
  • 第5周
  • 第6周
  • 第7周
从0开始理解rpc和grpc

rpc作为微服务的核心,深入理解rpc对于微服务开发来说非常重要,本周我们将从0开始一步步的理解rpc的核心概念,grpc的快速开发体验

课程安排:
  1. 1、rpc的核心概念
  2. 2、通过http实现rpc的基础原型
  3. 3、rpc核心要点分析
  4. 4、go自带的rpc开发
  5. 5、替换rpc中的gob协议为json协议
  6. 6、替换rpc中的传输协议为http协议
  7. 7、封装自带的rpc框架实现完美体验
  8. 8、protobuf的核心概念
  9. 9、grpc快速开发体验
  10. 10、grpc的流模式开发体验
grpc和protobuf进阶

微服务框架的搭建需要在rpc基础上添加对应的功能,深入理解protobuf和grpc更核心的功能对于后续框架的设计非常重要,为后续微服务打下坚实的基础

课程安排:
  1. 1、protobuf的基本类型和默认值
  2. 2、proto文件的管理和更新可能造成的问题
  3. 3、proto文件中import其他的proto文件
  4. 4、嵌套message、enum枚举类型
  5. 5、map类型和timestamp类型
  6. 6、grpc的metadata机制
  7. 7、grpc的拦截器
  8. 8、通过拦截器和metadata机制实现auth认证
  9. 9、grpc的验证器
  10. 10、grpc中的错误处理和超时机制
yapi文档管理、gorm详解

本周我们需要完成需求分析、在前后端管理中我们为什么需要yapi这样的接口管理系统、orm我们选择gorm,通过gorm基础知识的讲解我们将完成后续数据库操作的基础知识的准备

课程安排:
  1. 1、电商系统和后台管理系统需求分析
  2. 2、微服务架构演进
  3. 3、微服务架构需要解决哪些核心问题?
  4. 4、如何管理前后端分离系统的接口-yapi
  5. 5、gorm的基本CRUD操作
  6. 6、model的基本定义
  7. 7、多表查询(分页、子查询)
  8. 8、多表查询(一对多、多对多、表连接)
  9. 9、如何hook主表名和保存后的自定义逻辑?
  10. 10、gorm的事务性操作
gin快速入门

微服务的web层我们将采用gin作为开发框架,本周我们将体验gin的开发的各个细节,理解到gin的middleware的核心原理,这些后续深度集成gin打下坚实的基础

课程安排:
  1. 1、gin的New和Default初始化的区别
  2. 2、gin的路由分组
  3. 3、获取url、get和post中的值
  4. 4、gin的表单验证
  5. 5、表单验证的error中文翻译
  6. 6、gin中体验protobuf
  7. 7、自定义gin的middleware
  8. 8、gin的middleware源码分析和abort的关系
  9. 9、gin返回html
  10. 10、gin加载静态文件和优雅退出
阶段三: 从0到1实现完整的微服务框架
  • 第8周
  • 第9周
  • 第10周
用户服务的grpc服务

本周完成第一个grpc服务-用户服务,本周我们将完成用户相关的主要接口包括用户登录、用户注册、用户信息获取以及用户的基本信息修改等,在本周我们需要通过md5盐值加密用户密码保存的安全性问题

课程安排:
  1. 1、user表结构设计
  2. 2、md5信息摘要算法
  3. 3、md5盐值加密解决用户密码的安全性问题
  4. 4、定义proto接口
  5. 5、grpc服务的开启和优雅退出
  6. 6、用户注册接口
  7. 7、通过id和mobile查询用户
  8. 8、修改用户信息接口
  9. 9、通过flag来解决参数启动服务
  10. 10、用户相关接口测试
用户服务的web服务

本周我们通过对gin的持续集成来将gin改造成一个适合微服务的接口层服务,本章节我们会介绍gin脚手架中的基础功能如:日志、配置文件等基础功能

课程安排:
  1. 1、zap日志库的使用
  2. 2、gin调用grpc微服务的集成
  3. 3、viper配置文件管理
  4. 4、生产环境和开发环境配置文件隔离
  5. 5、session机制在微服务架构下的不足
  6. 6、gin集成jwt解决微服务下的认证
  7. 7、url添加登录权限验证
  8. 8、阿里云短信发送
  9. 9、redis集成短信发送功能
  10. 10、用户登录、注册功能
服务注册/发现、配置中心、负载均衡

本周我们会详细的理解到服务注册和发现组件-consul,将consul集成到各个微服务中,同时还需要统一的配置中心,将使用nacos作为配置中心,为grpc配置负载均衡策略

课程安排:
  1. 1、服务注册和发现的重要性
  2. 2、consul集成到grpc中
  3. 3、如何解决grpc的健康检查
  4. 4、gin集成consul
  5. 5、为什么需要配置中心
  6. 6、nacos的组、配置集和命名空间
  7. 7、gin和grpc集成nacos
  8. 8、动态 获取可用端口号
  9. 9、负载均衡的常用策略
  10. 10、grpc集成负载均衡
阶段四: 微服务实现电商系统
  • 第11周
  • 第12周
  • 第13周
  • 第14周
  • 第15周
  • 第16周
商品微服务的grpc服务

本周完成电商系统的核心微服务-商品服务,除完成商品的基本信息以外,还需解决商品分类、轮播图管理、品牌相关等大量和商品相关的接口,我们除了这些基本功能以外还需要解决另一个问题:物理删除还是逻辑删除?

课程安排:
  1. 1、商品相关表结构设计和数据导入
  2. 2、物理删除还是逻辑删除?
  3. 3、proto接口定义
  4. 4、商品相关接口(列表、添加、修改、删除)
  5. 5、商品分类相关接口(列表、添加、修改、删除)
  6. 6、品牌相关接口(列表、添加、修改、删除)
  7. 7、轮播图相关接口(列表、添加、修改、删除)
  8. 8、批量获取商品的信息接口和应用场景
  9. 9、品牌分类相关接口
  10. 10、测试相关接口
商品微服务的gin层和oss图片服务

本周重点完成两个任务:1. 将商品的grpc底层服务转换成http接口。 2. 基于阿里云的oss的图片存储微服务,我们将基于阿里云的oss改造成微服务。

课程安排:
  1. 1、商品的grpc服务接口转换为http接口
  2. 2、如何设计一个符合go风格的注册中心接口?
  3. 3、gin退出后的服务注销
  4. 4、商品分类、品牌相关的接口转换
  5. 5、基于yapi测试http接口
  6. 6、微服务架构设计下的普通文件上传的弊端
  7. 7、阿里云的oss基本概念
  8. 8、前端直传文件的流程
  9. 9、内网穿透技术调试文件上传
  10. 10、gin集成oss实现微服务
库存服务和分布式锁

本周完成独立的库存服务,库存服务在电商系统中有着非常重要的作用,对数据的一致性要求非常高,所以和库存相关的功能关系着是否能有效的解决好分布式系统中的重要问题包括:分布式锁、分布式事务等非常重要的功能

课程安排:
  1. 1、为什么库存服务需要独立成微服务
  2. 2、库存服务的表结构设计
  3. 3、库存相关的proto接口设计
  4. 4、通过数据库事务完成库存的扣减
  5. 5、库存的归还的重要性
  6. 6、订单超卖是如何产生的?
  7. 7、什么是分布式锁
  8. 8、乐观锁详解
  9. 9、基于redis分布式锁的原理
  10. 10、redis分布式锁的细节:setnx、看门狗等机制
订单和购物车微服务

订单服务是整个电商的中的最重要也是最复杂的微服务,在订单服务中我们需要解决分布式事务的问题,我们将先完成订单和购物车相关的基本功能,为后面的分布式事务做好准备

课程安排:
  1. 1、需求分析(购物车、订单)
  2. 2、表结构设计
  3. 3、proto接口定义
  4. 4、添加商品到购物车、更新购物车、获取购物车接口
  5. 5、新建订单接口以及难点分析
  6. 6、订单详情接口
  7. 7、通过mysql事务解决数据创建过程中的事务
  8. 8、gin集成订单和购物车接口
  9. 9、测试订单相关接口
  10. 10、测试购物车相关接口
支付宝支付、用户操作微服务、前后端联调

以上我们基本上完成了电商核心的功能,本周我们完成剩余的功能,包括用户相关的操作比如收藏、收货地址管理等。最后我们将支付宝相关的支付功能集成到订单功能中,完成左右的功能之后我们将联调所有的接口

课程安排:
  1. 1、支付宝沙箱环境开发流程
  2. 2、私钥、公钥的概念以及支付宝如何解决订单的安全性问题
  3. 3、支付宝的公钥、私钥和回调url配置
  4. 4、生成支付宝的支付url
  5. 5、gin集成支付宝支付
  6. 6、支付宝回调通知url逻辑接口
  7. 7、用户操作服务需求分析
  8. 8、用户操作相关的接口源码分析
  9. 9、电商系统接口联调
  10. 10、电商管理系统接口联调
elasticsearch实现搜索微服务

搜索功能作为电商中最常用的功能,搜索的性能和搜索效果非常重要,使用mysql自带的查询功能显然无法满足要求,本周我们将elasticsearch集成到电商系统中,来达到高性能和高相关度的搜索功能

课程安排:
  1. 1、elasticsearch的介绍和安装
  2. 2、elasticsearch的基本概念
  3. 3、倒排索引的原理
  4. 4、elasticsearch 基本的索引和文档CRUD操作
  5.  5、elasticsearch的mget和bulk批量操作 
  6. 6、中文分词器-ik
  7. 7、go的elasticsearch接口
  8. 8、elasticsearch的term查询
  9. 9、elasticsearch的mapping映射
  10. 10、商品的上架功能和搜索
阶段五: 分布式系统核心、微服务的部署
  • 第17周
  • 第18周
  • 第19周
  • 第20周
分布式理论基础、分布式事务解决方案

本周我们需要解决非常重要的一个话题-分布式事务和幂等性。这两个知识点既是难点也是面试中的常见话题,所以理解分布式事务的理解决定了你是否能再高级面试中脱颖而出的关键。

课程安排:
  1. 1、为什么订单会有超时机制
  2. 2、数据库事务的ACID特性
  3. 3、分布式系统中出现哪些故障会导致数据不一致?
  4. 4、cap理论
  5. 5、BASE理论
  6. 6、2pc两阶段提交分布式事务
  7. 7、 TCC分布式事务实现方案
  8. 8、基于本地消息的最终一致性方案
  9. 9、基于可靠消息的最终一致性
  10. 10、最大努力通知方案
学习rocketmq实现幂等性机制等

本周我们需要实现基于可靠消息的最终一致性实现方案、我们将基于rocketmq来实现该分布式事务方案,在本章我们将会更加详细的理解到一个分布式事务实现的具体细节

课程安排:
  1. 1、mq的应用场景
  2. 2、mq消息队列技术选型
  3. 3、rocketmq的消息类型
  4. 4、发送普通消息、延迟消息、事务消息
  5. 5、订单新建的过程中如果保证库存数据的最终一致性
  6. 6、库存扣减在分布式事务中的特殊性
  7. 7、什么时候应该对事务消息进行确认?
  8. 8、库存归还的细节处理
  9. 9、什么是服务雪崩?服务雪崩和超时重试机制
  10. 10、常用的幂等性解决方案
链路追踪、限流、熔断、降级

一个高可用的微服务框架还需要解决负载的微服务间的调用链的监控和超时会带来的服务雪崩,本周会引入jaeger进行链路追踪,使用sentinel解决熔断、限流等问题。这都是微服务领域最新也是未来的使用趋势

课程安排:
  1. 1、为什么我们需要链路追踪
  2. 2、opentracing中的tracer、span、spancontext
  3. 3、发送span和多级span消息
  4. 4、grpc服务下集成jaeger
  5. 5、grpc下的jaeger源码解读
  6. 6、gin集成jaeger
  7. 7、什么是限流、熔断和降级
  8. 8、sentinel的qps限流
  9. 9、sentinel的预热和冷启动、匀速通过机制
  10. 10、sentinel的熔断接口-错误数、错误率、慢请求
api网关、部署

前面已经开发出来大量的微服务,那如何对外暴露统一的接口等,本周会选择高性能的api网关-kong来完成从用户端到微服务端的调用以及接口管理,最后通过jenkins完成持续的部署和集成

课程安排:
  1. 1、什么是api网关
  2. 2、kong的8001、800和1337端口号的关系
  3. 3、基本的路由转发配置
  4. 4、kong的service、routes、upstream的请求过程
  5. 5、kong集成consul实现服务发现和负载均衡
  6. 6、kong配置反爬、黑名单
  7. 7、jenkins常见功能
  8. 8、jenkins的pipeline
  9. 9、jenkins执行脚本
  10. 10、自动化部署
阶段六: 开发规范、设计模式、单元测试
  • 第21周
  • 第22周
开发规范和go基础扩展

本周详情:Go的目录结构怎么规范?git的代码分支、commit规范怎么管理?代码仓库应该是采用mono-repo还是multi-repo进行管理?go的代码静态检测怎么做?go的新特性泛型如何使用?

课程安排:
  1. 1、开发有哪些规范?
  2. 2、git的开发规范
  3. 3、go代码的目录规范
  4. 4、微服务项目的目录规范
  5. 5、mono-repo和multi-repo代码仓库管理
  6. 6、go vet进行代码检测
  7. 7、golangci-lint的静态代码检测
  8. 8、编码中常见的坑如何避免
  9. 9、go的泛型定义和使用
设计模式和单元测试

想要写好代码必须搞懂设计模式,如何在go中使用设计模式,有哪些常用的设计模式?如何写出方便测试的代码?如何对数据层代码进行单元测试?如何测试对结构体进行mock测试?测试框架怎么选择?是本周核心。

课程安排:
  1. 1、设计模式的重要性
  2. 2、函数选项模式
  3. 3、kratos和grpc中的设计模式
  4. 4、单例模式
  5. 5、sync.once原理
  6. 6、工厂模式
  7. 7、测试金字塔
  8. 8、gomock进行接口测试
  9. 9、如何对grpc、redis等进行mock测试
  10. 10、sqlmock对gorm进行测试
  11. 11、go的模糊测试的应用场景
  12. 12、 gomonkey对任何对象进行mock测试
  13. 13、 ginkgo单元测试框架的应用
阶段七: 效率工具开发
  • 第23周
protoc插件开发、cobra命令行

本周详情:如何将grpc接口直接转换为http接口? kratos和grpc-gateway如何解决grpc和http服务转换?系统启动如何支持命令行和参数?配置文件如何自动映射到go的struct?

课程安排:
  1. 1、grpc-gateway的原理
  2. 2、protoreflect进行proto文件解析
  3. 3、go template模板的使用
  4. 4、grpc转换为gin接口
  5. 5、protoc命令执行的原理
  6. 6、cobra命令行系统开发
  7. 7、系统支持命令、参数和配置文件解析映射
阶段八: 深入底层库封装、ast代码生成方案
  • 第24周
  • 第25周
log日志包设计

日志包是否需要自己封装? 日志包封装有哪些细节需要考虑?日志的初始化应该如何做?日志如何和链路集成?生产环境中的日志应该如何处理?本周带你体验日志包设计的细节。

课程安排:
  1. 1、封装日志包的重要性
  2. 2、全局初始化和日志传入的方案选择
  3. 3、开源项目如何对日志进行处理的?
  4. 4、日志的debug、info等打印级别
  5. 5、生产环境中的日志系统架构
  6. 6、定义log的options配置选项
  7. 7、log包如何实现解耦?
  8. 8、如何将log和链路追踪集成?
ast代码生成工具开发

Go的error设计思想是什么?如何解决错误的错误栈?错误码如何设计?如何解决内部error到http错误状态码的处理?ast是什么?如何使用ast减少代码开发量?本周带你深入error设计细节

课程安排:
  1. 1、go的error设计理念
  2. 2、go语言的错误处理和其他语言的区别
  3. 3、errors错误栈的封装和打印
  4. 4、错误码的设计
  5. 5、grpc的error错误原理
  6. 6、兼容内部的错误码和grpc的错误码
  7. 7、kratos的errors设计理念
  8. 8、go generate的应用场景
  9. 9、 ast包的基本元素
  10. 10、 通过ast解析源码并生成源码
  11. 11、 通过代码生成解决错误码的全局注册
阶段九: 自研微服务框架-gmicro
  • 第26周
  • 第27周
  • 第28周
  • 第29周
  • 第30周
  • 第31周
三层代码结构

为什么我们的代码会不方便写单元测试?如何防止代码和gin耦合?如何解决代码和gorm耦合?如何通过代码分层结构减少代码耦合?如何建立通用项目启动过程?本周我们将要解决这些问题

课程安排:
  1. 1、通用项目启动
  2. 2、代码耦合的原因是什么
  3. 3、三层代码和接口解决代码耦合的问题
  4. 4、DO、DTO、VO实体设计
  5. 5、通过copier解决各层实体的拷贝
  6. 6、各层代码进行单元测试
grpc服务封装更方便的rpc服务

为什么我们要进一步封装grpc?微服务框架应该具备哪些功能?如何将设计模式应用到框架开发中?grpc进一步封装需要具备哪些功能?本周带你实战封装技能。

课程安排:
  1. 1、微服务框架需求分析
  2. 2、通过interface抽象服务注册集成
  3. 3、服务监听的原理解读
  4. 4、grpc的通用拦截器-timeout、recover
  5. 5、定义server启动的options完成命令行参数和配置文件的映射
  6. 6、通过mock完成底层数据的响应
深入grpc的服务注册、负载均衡原理

本周讲解grpc的服务注册和发现原理、如何自定义服务注册和服务发现、grpc的负载均衡原理、以及如何自定义负载均衡。

课程安排:
  1. 1、kratos的服务注册源码解读
  2. 2、grpc的resolver接口
  3. 3、grpc的directBuilder源码解读
  4. 4、服务发现和负载均衡的原理
  5. 5、通过观察者模式完成服务注册和服务发现
  6. 6、grpc的负载均衡架构原理
  7. 7、 pickfirst的源码解读
  8. 8、 roundrobin的源码解读
基于gin封装api服务

如何同时启动grpc和gin服务?两者其中一个启动失败如何优雅处理?如何封装一套通用的认证系统支持各种认证方式?本周我们来讲解。

课程安排:
  1. 1、errorgroup完善grpc和gin启动控制
  2. 2、翻译验证器的集成
  3. 3、优雅退出的互相通知
  4. 4、如何管理多服务的启动
  5. 5、basic认证封装
  6. 6、基于cache的认证封装
  7. 7、基于jwt的认证接口封装
可观测的终极解决方案

云原生环境下日志、链路、监控的终极解决方案opentelemetry如何封装到框架中?能否监控gorm、redis的执行性能,本周带你理解最强方案opentelemetry。

课程安排:
  1. 1、opentelemetry要解决什么问题?
  2. 2、log日志如何集成到opentelemetry
  3. 3、inject和extract原理解读
  4. 4、otelgrpc完成grpc的集成原理
  5. 5、自定义options完成opentelemetry的配置
  6. 6、通用opentelemetry全局配置和启动封装
  7. 7、opentelemetry核心概念
  8. 8、 gorm集成opentelemetry源码解读
  9. 9、 go-redis库如何完成opentelemetry集成的
系统监控核心

系统出错了如何发现?系统响应慢了如何发现?接口抖动过大如何发现? 本周带你理解监控的重要性。

课程安排:
  1. 1、prometheus、grafana安装和使用
  2. 2、promql语法
  3. 3、guages、counter、histograms监控指标
  4. 4、gin集成prometheus实现指标上报
  5. 5、grpc的server端集成prometheus
  6. 6、grpc的client端集成prometheus
阶段十: 基于gmicro重构项目
  • 第32周
  • 第33周
  • 第33+周
用户、商品服务重构

如何通过gmicro重构用户服务?如何对用户服务进行详细的单元测试?商品数据的异构存储方案如何设计? 如何将用户服务集成到三层代码结构中?本周我们开始体会服务重构。

课程安排:
  1. 1、配置文件校验
  2. 2、data数据访问层的接口设置
  3. 3、通过工厂模式设计data数据访问层
  4. 4、service层代码结构设计
  5. 5、用户服务处理error
  6. 6、controller层代码结构设计
  7. 7、 do、dto、vo结构设计
  8. 8、 三层代码结构重构service层代码
  9. 9、 重构web层用户服务
  10. 10、 通过树形结构重构category分类
  11. 11、 通过binlog同步商品数据到elaticsearch的方案
  12. 12、 重构商品服务
  13. 13、 通过单元测试对接口进行完整的测试
订单、库存等服务重构

如何使用dtm进行分布式事务重构?企业级的订单存储方案如何设计?消费者服务应该如何设计?如何库存并发量大应该如何设计?本周我们开始重构核心订单服务和库存服务。

课程安排:
  1. 1、gmicro重构订单服务
  2. 2、DTM分布式事务框架重构分布式事务
  3. 3、分布式事务面临的挑战
  4. 4、单独启动rocketmq监听服务消息消费
  5. 5、订单延时取消如何设计?
  6. 6、通过map-reduce进行并发调用控制
  7. 7、 三层代码结构重构service层代码
  8. 8、 重构web层订单服务
  9. 9、通过gmicro重构oss服务
  10. 10、通过gmicro重构收藏服务
  11. 11、通过gmicro重构收货地址服务
订单服务重构、wire进行ioc控制

订单服务重构、wire进行ioc控制

课程安排:
  1. 1、gmicro重构订单服务
  2. 2、通过map-reduce进行并发调用控制
  3. 3、三层代码结构重构service层代码
  4. 4、什么是ioc?
  5. 5、wire对于服务启动有什么好处?
  6. 6、通过wire重构user服务启动
  7. 7、集成sentinel和nacos
阶段十一: 基于k8s部署项目
  • 第34周
  • 第34+周
通过k8s部署服务

如何构建go的镜像?如何通过多阶段构建docker镜像?如何将系统部署到k8s中?如何进行devops开发?本周将带你详细了解生产环境的项目部署。

课程安排:
  1. 1、Kubernetes的历史,集群配置及版本
  2. 2、kind本地集群的配置
  3. 3、容器
  4. 4、节点及物理层
  5. 5、服务与网络
  6. 6、构建Docker镜像
  7. 7、Dockerfile指令详解
  8. 8、为Docker镜像瘦身
  9. 9、flag与环境变量的使用
  10. 10、为所有服务制作及上传镜像
  11. 11、k8s yaml语法详解
  12. 12、卷,配置及密钥
  13. 13、服务及端口的暴露
  14. 16、服务可视化
  15. 17、ingress配置
  16. 19、路由规则的配置及平滑升级
devops和k8s

devops和k8s

课程安排:
  1. 1、基于docker的go build构建
  2. 2、通过多阶段构建对go进行瘦身
  3. 3、devops、ci、cd和gitops是什么?
  4. 4、git parameter插件的使用
  5. 5、pipeline的参数化构建过程
  6. 6、编写dockerfile进行用户服务构建
  7. 7、 dockerfile、jenkinsfile如何完美配合进行服务的持续集成?
  8. 8、 kubesphere部署用户服务
  9. 9、 k8s的负载均衡和基于consul服务发现的负载均衡的区别
  10. 10、通过ingress暴露service
  11. 11、 pod是什么?
  12. 12、 kubectl相关的命令
  13. 13、 k8s的控制器
  14. 14、 k8s的service
  15. 15、 k8s的ingress
  16. 16、 k8s的持久卷
  17. 17、 k8s的configmap、secret
  18. 18、 k8s的架构

金牌讲师bobby亲授,慕课网上万学员口碑认证,值得信赖

bobby

云原生系统架构师

10+年开发经验,目前负责公司云原生项目的架构设计和开发。精通go、python、Java等多种语言,在高并发、微服务架构设计、爬虫、分布式系统开发等方面均有丰富的工作经验,对云原生和分布式系统开发有深入的理解,在慕课网累计学员20000+,是学员口碑捧出来的金牌老师。

由bobby老师亲手打造的就业服务闭环,解决你的后顾之忧

简历优化
手把手带你写一份漂亮的简历,锻炼表达技巧,征服大厂面试官!
就业指导
带你全面了解行业现状、技术趋势,磨炼面试技巧,超越竞争者。
电子文档
完美复现实操流程,扩展知识面,图文结合加深理解。

除了出色的视频内容,这里还有伴你整个技术生涯的“技术社区”

学习时你能在这里获取答案,工作后你能在这里解决难题

问答专区
练习作业专区
笔记专区
资料专区
编程遇难点,名师来指点;疑难汇总一键查看,海量问答覆盖全面
多方位知识面,分层巩固吸收;学练测一体,一对一项目点评
脱离时空限制,随记随查很方便;总结课程重点,分享提升代码经验
横向拓展,超全配套教辅资源;纵向延伸,源码开放更助知识理解
了解更多
技术前景
适合人群
课程安排
深度实战
知识体系
课程大纲
讲师介绍
闭环服务
返回顶部

学习咨询

选课、学习遇到问题?
扫码添加指导老师 1V1 帮助你!

扫码加顾问老师 立即咨询

意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师