第2课_体系课学习线路
热度🔥:26 免费课程
授课语音
Go工程师学习路线
Go语言(又称Golang)因其高效、简洁的语法和出色的并发支持,成为了开发微服务、分布式系统及高性能网络应用的理想选择。以下学习路线将帮助学员从基础入手,逐步深入到复杂的项目开发和分布式架构中。
第一部分:Go语言基础
掌握Go语言的基本语法和开发思想,为后续的高级编程与系统开发打下坚实的基础。
1. Go基础知识入门
- Go语言简介与发展历程
- Go语言的安装与环境配置
- 第一个Go程序:Hello World
2. Go容器和设计思想
- 数组、切片、映射(map)与结构体
- Go中的数据类型与类型系统
- Go的错误处理机制与常见设计模式
3. Go并发编程和模块管理
- Go协程(goroutine)与通道(channel)
- 并发编程模型:同步与异步
- Go模块(go mod)与包管理
第二部分:Go中间件与Web框架
学习常用的Go中间件和Web框架,掌握如何开发高效、可扩展的Web应用。
4. Rpc和Grpc基础
- RPC(远程过程调用)的概念与应用
- gRPC框架的使用与实践
- Protobuf的基本语法与协议
5. Protobuf进阶
- Protobuf的高级特性与用法
- 服务端与客户端的Protobuf数据交换
- gRPC与Protobuf的结合
6. Gorm和Yapi文档管理
- Gorm:Go语言的ORM框架
- 数据库连接与操作(增、删、改、查)
- 使用Yapi进行接口文档管理与自动化生成
7. Gin的快速入门
- Gin框架的安装与基本使用
- 路由管理与中间件
- RESTful API的设计与实现
第三部分:RBAC(角色权限管理)系统开发
掌握如何设计与开发具有角色权限管理功能的后台系统,涵盖用户认证、权限控制等关键功能。
8. RBAC后台项目启动
- 使用Go框架快速搭建后台管理系统
- 配置项目结构与目录
9. RBAC配置和日志
- 配置RBAC(角色权限控制)系统
- 日志记录与监控机制的实现
10. RBAC数据库Redis
- 使用Redis优化RBAC系统的数据存储与缓存
- Redis在角色权限管理中的应用
11. RBAC用户认证
- 用户身份认证与权限校验
- 基于JWT的认证方式
12. RBAC权限管理
- 角色与权限的分配与管理
- 精细化权限控制与动态权限管理
13. RBAC文件处理与扩展
- 文件上传与处理
- RBAC系统的功能扩展与优化
14. RBAC接口管理与安全
- 接口权限管理与接口安全性
- 防止权限泄露与攻击的技术手段
15. RBAC部署与源码
- 项目源码分析与部署
- Docker容器化部署与CI/CD流程
第四部分:分布式系统与消息队列
深入学习分布式系统架构、消息队列、事务处理等高级技术,提升系统的可扩展性与可靠性。
16. Elasticsearch搜索引擎
- Elasticsearch的安装与配置
- Elasticsearch的基本使用与索引设计
- 搜索引擎的优化与高级查询
17. 分布式基础和事务
- 分布式系统的基本概念与常见问题
- 分布式事务与一致性协议(CAP定理、Paxos、Raft)
- 分布式事务的实现方式与框架(如Seata)
18. Rocketmq和幂等性
- RocketMQ的安装与基本使用
- RocketMQ在分布式系统中的应用
- 幂等性问题的解决方案
19. 链路追踪
- 链路追踪的基本概念与应用场景
- 使用OpenTelemetry实现分布式系统中的链路追踪
- 分析系统性能瓶颈与优化方案
20. 熔断降级限流
- 熔断器的设计与应用
- 限流与降级处理
- 使用Hystrix与Resilience4j实现熔断与限流
21. API网关
- API网关的作用与设计
- 使用Go实现简单的API网关
- API网关中的路由、认证与限流
第五部分:自动化构建与持续集成
学习自动化构建与部署的流程,提升开发效率和系统稳定性。
22. Jenkins自动化构建部署
- Jenkins的安装与配置
- 构建和发布Go应用
- 自动化测试与CI/CD流水线
23. 开发规范和代码管理
- Go语言的代码风格与规范
- 使用Git进行版本控制与协作
- 常见的Git工作流(Git Flow、Forking Flow)
第六部分:微服务架构与实战
深入学习微服务架构,掌握基于Go语言的微服务开发框架与实战经验。
24. Go-Micro微服务框架
- Go-Micro的安装与使用
- 服务发现与负载均衡
- 基于Go-Micro构建分布式系统
25. Go-Micro商城系统实战
- 构建一个基于Go-Micro的电商系统
- 微服务模块化设计与部署
- 微服务的性能优化与容错设计
第七部分:面试与进阶
掌握Go语言高频面试题及进阶知识,提升自身的开发能力和就业竞争力。
26. Go高频面试题
- Go基础与高级编程面试题
- 面试技巧与项目经验分享
- Go语言的性能优化与内存管理
通过这条学习路线,学员可以系统地掌握Go语言开发的各个方面,涵盖了从基础到高级的各类技术与项目实战,最终能独立设计并开发高效、可靠的分布式系统。