培训对象: 面向后端开发工程师、微服务开发者及云原生应用开发人员。也适合需要从其他语言转型Go,并深入掌握高并发编程技巧的技术人员。
培训目标: 系统掌握Go语言在高并发场景下的核心编程模型与实战技巧,具备使用goroutine、channel进行并发任务编排的能力。能够基于Go语言构建高性能网络服务、微服务网关及分布式系统组件。
培训内容介绍:
Go语言并发模型:深入理解GMP调度模型,掌握goroutine的轻量级线程原理、调度器工作机制及并发与并行的区别。
goroutine与并发控制:学习goroutine的创建、生命周期管理,掌握WaitGroup、Once、Cond等同步原语的使用场景。
channel通信机制:深入讲解CSP模型,掌握有缓冲/无缓冲channel的使用、select多路复用及channel的典型应用模式(工作池、扇出/扇入)。
并发安全与数据竞争:学习数据竞争的检测方法,掌握互斥锁、读写锁、原子操作在并发场景中的正确使用。
高性能网络编程:掌握Go标准库net/http的使用,深入理解HTTP/1.1与HTTP/2的实现,学习构建高性能API服务。
WebSocket网关开发:基于gorilla/websocket或官方库,开发支持百万连接的高并发WebSocket网关,掌握连接管理、心跳保活及消息广播技术。
微服务框架(Go Zero/Go Kit):学习主流Go微服务框架的设计思想,掌握服务注册发现、负载均衡及熔断限流的集成方法。
高并发消息处理:结合Kafka或RabbitMQ,掌握消息队列在高并发系统中的削峰填谷作用,学习消息批量处理与并发消费策略。
缓存设计与性能优化:学习Redis在高并发场景中的使用技巧,掌握缓存与数据库的一致性保证、热key发现与处理策略。
分布式任务调度系统:实现分布式定时任务调度框架,掌握任务分片、执行器路由、失败重试及任务编排的核心设计。
性能调优与pprof:学习使用go tool pprof进行CPU、内存及阻塞分析的性能剖析方法,识别并解决性能瓶颈。
综合实战项目:开发一个高并发IM系统或通知平台,覆盖WebSocket网关、消息推送、离线存储及分布式部署全流程。