网盘:百度 | 学分:5,VIP免费 | 发布:2023-02-09 | 查看:0 | 更新:2023-02-09 | GO

【GO】极客大学-go进阶训练营|完结无秘【价值3299元】

〖课程介绍〗:

〖课程目录〗:

模块一:Go 语言实践 – RuntIMe

教学目标

  1. 了解 Go 语言Goroutine 的调度原理

  2. 了解 Go 语言中的内存模型

  3. 了解 Go 语言中 GC(垃圾回收)的原理

  4. 了解 Go 语言中 channel 的消息通讯原理

学习工作中的痛点

  1. 分不清 Goroutine 和线程的区别

  2. 不熟悉 Go内存分配机制

  3. 搞不懂 GC 三色标记算法

  4. 了解 channel 的底层实现

详细内容

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

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

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

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

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

教学目标

  1. 了解 Go 语言中的 MEMOry Model

  2. 了解 Go 语言并发特性并发编程模式:TIMeout、PIPeline、Cancellation、Fanout、errgroup 等模式

  3. 了解 Go 语言中 Context 的原理掌握使用方法

学习工作中的痛点

  1. 搞不清楚 Go内存模型同步语义

  2. 无法熟练使用基于 channel 通讯方式的并行编程模式

  3. 不明白 Context 传播式传递有什么意义

详细内容

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

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

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

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

教学目标

  1. 熟练掌握 Go 语言中的 TCP 网络编程

  2. 熟练掌握 Go 语言中的 HTTP 网络编程

学习工作中的痛点

  1. 不知怎么Go 实现高性能TCP Server

  2. HTTP 框架有不少,但不知怎样做选型

  3. 不会针对业务需求对 HTTP 框架针对性的扩展

详细内容

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

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

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

教学目标

  1. 了解 Go 语言中 error 的处理方法

  2. 了解 Go 语言业务错误的处理方法

学习工作中的痛点

  1. error 的处理复杂,不会正确使用

  2. 业务错误定义和 error 整合难度较高

详细内容

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

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

模块五:Go 工程化实践

教学目标

  1. 了解 Go 项目中良好的项目目录组织原则和规范

  2. 了解 Go 项目中 API 的设计方法和规范

  3. 了解 Go 项目中 Package 的管理设计方法

  4. 了解 Go 项目中的单元测试方法

学习工作中的痛点

  1. 不知怎么Go 项目标准化管理

  2. 总是设计各种不合理的 API

  3. 不知怎么做包管理

详细内容

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

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

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

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

模块六:Go 架构实践分布式架构前端负载均衡)

教学目标

  1. 掌握高可用 DNS 的最佳实践

  2. 了解 CDN 的架构应用场景

  3. 深入理解 4/7 层负载均衡的原理

学习工作中的痛点

  1. 缺乏对在线服务的全链路视野

  2. 了解应用服务上层的负载均衡

详细内容

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

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

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

模块七:Go 架构实践分布式架构数据分片)

教学目标

  1. 掌握数据 Sharding 的设计原则

  2. 了解 Hash 分片的算法和演进历史

学习工作中的痛点

  1. 了解 Sharding 的应用场景不会合理使用

  2. 搞不清楚各种变种 Hash 算法使用场景

详细内容

  1. 架构设计中的数据分片设计,如:分库分表、多活的 Shard 设计等等

  2. 分片算法的 Hash 实现和演进:Hash 求余、一致性 Hash、有界负载一致性 Hash、节点映射

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

教学目标

  1. 了解服务的演进历史及它的优缺点

  2. 了解服务设计方法

  3. 了解服务RPC底层原理

学习工作中的痛点

  1. 理解服务服务角色:API Gateway、BFF 还是 Service?

  2. 不知怎么做微服务拆分

  3. 理解 RPC原理不知如何进行服务 RPC 框架的选型

详细内容

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

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

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

模块九:Go 架构实践 – 微服务可用设计

教学目标

  1. 掌握可用设计最佳实践

  2. 了解可用设计的几大关键点:隔离、超时控制、过载保护限流、容错&AMp;重试

学习工作中的痛点

  1. 不知如何设计高可用的分布式服务

  2. 不清楚如何提升服务自愈能力

详细内容

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

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

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

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

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

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

教学目标

  1. 了解 Go 项目中的日志收集

  2. 了解 Go 项目中的监控指标体系

  3. 了解 Go 项目中的分布式链路追踪

学习工作中的痛点

  1. 不知如何解决服务可观测性难题

  2. 不清楚怎么做微服务可视化标准化

  3. 出故障后,难以对微服务进行问题诊断

详细内容

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

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

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

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

教学目标

  1. 了解 Redis、Memcache 的原理实战技巧

  2. 了解 MySQL 的常用设计优化方法

学习工作中的痛点

  1. 不会解决缓存的一致性问题

  2. 不知怎样合理地设计 MySQL 的表

详细内容

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

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

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

教学目标

  1. 深入理解消息队列原理掌握基于消息队列架构设计方法

  2. 服务发现原理、选型策略以及服务发现实现的微服务多租户架构

学习工作中的痛点

  1. 不会消息解耦的架构设计

  2. 不清楚如何实现服务发现对平滑发布支持

  3. 不知怎样利用多租户实现测试环境

详细内容

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

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



*声明:课程资源购自网络,版权归原作者所有,仅供参考学习使用,严禁外传及商用,若侵犯到您的权益请联系客服删除。

下载地址(复制到浏览器打开,手机端请扫码下载):

请登录购买后查看,VIP全站免费下载

充值 升级VIP
收藏(0

万部精品课程任意搜

热门TAG: 14215期 500+ 天马 0-12岁 3天 老陈 图文 天猫 神针 林枫
微信客服 搜索课程 返回顶部