课程简介

熟练掌握 Go 语言,熟悉 Goroutine、Channel、锁、GC 等核心特性;

具备 3 年以上后端开发经验,并具有 1 年以上 Go 语言服务端开发经验;

熟练掌握 Golang 常用框架,深入了解框架提供的特性及其实现原理细节;

熟悉常见的中间件技术,包括但不限于 MySQL、RPC、MQ、Redis 等;

了解分布式技术,具备扎实的工程经验和软件设计能力;

熟悉微服务架构,具有高并发或大型 Go 项目经验者优先。

本课知识点:

模块一:Go 架构实践 – 微服务(微服务概览与治理)

1. 微服务的原理、概念,以及微服务的实现细节

2. API Gateway、BFF、Service 等概念精讲

3. 微服务通讯 RPC 框架的细节和选型

4. 多集群、多租户解决全链路压测、多测试环境等

模块二:Go 语言实践 – 异常处理

1. Go 语言中的 error 处理实践:检查错误、定义错误、追加上下文

2. Go 项目中的业务错误码如何结合 error 的最佳实践

模块三:Go 语言实践 – 并行编程

1. 内存模型:Happens Before、同步语义、channel 通讯、锁

2. 利用 channel 完成并行开发的设计模式,包含超时控制、管道、扇出、errgroup 并发

3. 使用 Go 标准库 Context 的原理和最佳实践,包含超时控制、元数据传递、生命周期控制

模块四:Go 工程化实践

1. 良好的 Go 项目中的分层目录结构组织和代码规范

2. Go 项目中 API 的设计原则和方法:定义、状态和业务错误码处理

3. Go 项目中包的设计和最佳实践、go mod 的使用

4. go test 工具链的使用方法、单元测试的最佳实践以及 Mock 技术

模块五:Go 架构实践 – 微服务(可用性设计)

1. 微服务的隔离实现,以及架构设计中的隔离实现

2. 进程内超时控制和跨进程超时控制

3. 程序自保护避免过载,抛弃一定的流量完成自适应限流

4. 单机限流、多租户场景的分布式限流

5. 节点故障的容错逻辑、重试容错的策略和设计

模块六:评论系统架构设计

1. 评论系统设计中结合消息队列如何做存储优化

2. 评论系统设计中缓存、存储设计的方案

模块七:播放历史架构设计

1. 历史记录系统如何做架构设计和技术选型

2. 历史记录系统设计中缓存、存储设计的方案

3. 如何结合消息队列做数据持久化的优化

4. 提升系统可用性的核心思想和技巧

模块八:Go 架构实践 – 中间件(缓存、数据库)

1. Redis、Memcache 的应用场景、最佳实践,以及缓存的一致性设计

2. MySQL 的表设计、常用优化手段,以及如何解决分布式事务

模块九:Go 语言实践 – 网络编程

1. 结合 goim 项目了解 Go 语言中 TCP Server 的基础库和性能优化方案

2. 结合 gin 项目了解 Go 语言中的 HTTP Server 的基础库和框架

模块十:Go 架构实践 – 中间件(日志、指标、链路追踪)

1. 实现一个可以集中收集所有微服务实例的日志,并能统一查看和检索的日志采集架构

2. 指标监控、使用 Prometheus 解决监控可视化、指标采集

3. 微服务中的跨服务性能问题诊断,结合 Jaeger 实现分布式链路追踪

模块十一:Go 架构实践 – 分布式架构(前端负载均衡)

1. DNS 的原理、防劫持的方法、HTTPDNS + IP 长连接

2. CDN 的系统架构、应用领域以及保证数据一致性的方法

3. LVS、Nginx 4/7 层负载均衡的原理和实践

模块十二:Go 架构实践 – 中间件(消息队列、服务发现)

1. Kafka 的实现原理、异步消息系统的架构设计

2. RPC 服务发现、动态地址的选型和实现原理,以及基于服务发现的平滑重启和多租户架构

模块十三:Go 语言实践 – Runtime

1. Goroutine 的实现、GPM 调度模型、调度状态及流转、调度原理、协作式抢占以及和网络库的协作

2. Go 内存分配的内部结构和分配机制

3. Go GC 介绍、三色标记的实现原理、GC 的流程以及 GC 的一些优化方案

4. Go channel 的通讯机制、环形队列的结构、调度和唤醒的原理

 

 

回复 tuivs 取消回复

您的电子邮箱地址不会被公开。 必填项已用*标注

评论

  • sjna 2022年7月10日 下午11:31

    造福屌丝程序员

  • TuIqepKiL 2022年7月11日 上午5:34

    最主要让我喜欢的是无密!真的方便!

  • IWQPPF 2022年7月14日 上午1:57

    给老板加鸡腿

  • tuivs 2022年7月14日 上午8:53

    IT王子!!牛

  • fitdzhj 2022年7月16日 上午2:48

    谢谢老板

  • POvFiIsS 2022年7月18日 上午8:47

    开了vip, 卷死你们!!

  • Usys 2022年7月18日 上午10:47

    资料真的好全!牛b

  • zsizhi 2022年7月20日 上午7:46

    圈粉了

本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。

最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用百度网盘软件或迅雷下载。 若排除这种情况,可在对应资源底部留言,或联络我们。

对于会员专享、整站源码、程序插件、网站模板、网页模版等类型的素材,文章内用于介绍的图片通常并不包含在对应可供下载素材包内。这些相关商业图片需另外购买,且本站不负责(也没有办法)找到出处。 同样地一些字体文件也是这种情况,但部分素材会在素材包内有一份字体下载链接清单。

如果您已经成功付款但是网站没有弹出成功提示,请联系站长提供付款信息为您处理

源码素材属于虚拟商品,具有可复制性,可传播性,一旦授予,不接受任何形式的退款、换货要求。请您在购买获取之前确认好 是您所需要的资源