🔥Go 进阶训练营实战项目介绍
2020年9月16日 更新
开启更多功能,提升办公效能


案例一:Go channel 原理剖析

案例分析:

  1. buffer、circular、queue 的底层架构
  1. csend、receive、goroutine 的调度唤醒逻辑
  1. Go 语言针对 waiting task 的细节优化,以及其它性能优化方面的考虑


核心要点:

  1. channel 的内部结构
  1. channel 的发送和接收实现机制
  1. channel 的内部优化原理




案例二:缓存架构设计

案例分析

  1. 对比 Redis 和 Memcache 的使用场景,Cache 集群方案、Proxy 方案
  1. 缓存和存储的数据一致性设计、多级缓存的设计、热点缓存的应对
  1. 缓存的单飞加载、缓存的流控、缓存的优化技巧


核心要点

  1. 缓存的选型和演进
  1. 缓存模式
  1. 缓存的常见技巧




案例三:分布式链路追踪

案例分析

  1. 熟悉 Dapper 论文中各种 Tree、Span、Annocation 的概念
  1. 了解具体追踪实现的数据传递、传输和采样
  1. 基于链路追踪对常见系统慢请求、大开销问题的总结和建议


核心要点

  1. 分布式链路追踪原理
  1. 分布式链路追踪架构实现
  1. 分布式链路追踪对系统的优化建议




案例四:微服务 RPC 多集群

案例分析

  1. 多集群空间换时间以及隔离性方面的考虑
  1. 使用统一的逻辑集群
  1. 底层是物理隔离的多集群
  1. 简单路由
  1. 使用子集算法解决多集群连接的问题


核心要点

  1. 多集群的场景
  1. 逻辑集群和物理集群的使用方式
  1. 超大集群的连接优化





案例五:可用性设计 - 超时传递

案例分析

  1. 针对网络访问的各类超时控制
  1. 对进程内、跨进程超时控制的机制
  1. 超时的 95 线分布,超时时间的配置和约定


核心要点

  1. 超时控制
  1. 超时传递
  1. 超时的注意事项