分布式IM原理与实战: 从0到1打造即时通讯云--掘金小册课程推荐/优惠
版权声明
本站非掘金小册官网,与官方无任何关系。我们不提供课程下载或详细内容,仅作为课程分享和推荐平台。我们鼓励大家支持正版,尊重创作者的劳动成果,这样不仅能帮助创作者持续产出优质内容,也能让自己获得更好的学习体验。请通过官方渠道购买和学习课程,感谢您的理解与支持。
课程详情
课程介绍
作者介绍
逆水:通信专家、多年系统设计开发及项目管理经验。
小册介绍
一套长连接系统涉及的技术与知识面非常多,相对于比较成熟的无状态 Web 服务,它在架构上也灵活多变,很多情况下,我们只能在高性能、高可用和复杂度之间做出一定的取舍。比如在本小册中介绍的三种场景:IM 即时通讯、Live直播和 CS 在线客服,它们在设计时考虑的重点就完全不同。通常我们说即时通讯之所以难度较高,主要有如下几点:
- 网络、IO、GC、并发、内存等各方面知识储备及灵活运用。
- 长连接使得系统的
可用性
及扩展性
难度大大增加。 - 对系统的
高频消息转发能力
与消息零丢失容忍
的双重考验。
本小册绝不是一些知识堆积
或者带你写个demo
版本IM。而是实现一套高性能、高可用、百万并发以上的即时通讯 IM 系统!本项目使用的技术及核心逻辑都是经过商用考验提取而来,有过一定项目经验的朋友都知道,一套较复杂的系统要达到一个稳定的运行状态,需要考虑的方面非常多,因此也非常锻炼个人综合能力。
本小册在技术与业务知识点上既有广度也有深度,非常适合读者进阶学习,无论是面试还是以后设计开发类似系统
,都会有非常大的帮忙。同时我会使用大量不同类型的设计图(约200张
)加以文字来描述系统各环节的逻辑与流程,帮助读者加深理解。同时,针对本小册编写的实战项目代码也会放到GitHub上。
你会学到什么?
本小册从如下七个方面来展开。它包括了一个项目从需求分析、系统设计、开发迭代、基准测试、部署架构、线上运维,一个完整的项目生命周期
,基本上都是干货,而且看得见,摸得着
,技术不再孤立,都在项目中实实在在被使用。如下图就是本小册知识点图谱,为了方便阅读,没有画出更细节的内容:
因此,你可以学习到:
- 一套与
融云
和环信
相似的 IM 系统,从 0 到 1 的实现过程。 - 分布式长连系统的架构及原理。
- 彻底搞懂 TCP/IP 五层网络协议的原理。
- 高性能Golang项目实战能力与性能优化方面的知识。
- 系统架构、实战开发、测试、监控、系统容灾等项目
综合能力
。
适宜人群
本小册实战部分,后端使用的是 Golang
编写,Web 端 SDK 使用的是 Typescript
编写,无论是你前端还是后端,都是非常适宜的一本小册,不要犹豫,立刻下手!
- 初出江湖工作的新人。
- 挣扎于每天CRUD的码农。
- 准备跳槽涨薪的攻城狮。
- 向更高职位奋斗的你。
课程目录
- 基础篇:通信协议之状态篇
- 基础篇:通信协议之行为篇
- 设计篇:IM介绍与功能用例
- 基础篇:网络传输详解
- 架构篇:分布式IM架构及演进
- 基础篇:从一个demo开始
- 《通信层》之万丈高楼平地起
- 基础篇:可靠连接的三把刀
- 基础篇:心跳及重连web实战
- 《控制层》之单聊&群聊
- 实战篇:通信层之Websocket实现
- 《链路层》之消息处理链路
- 里程碑2️⃣:登录与会话管理
- 里程碑1️⃣:通信层之TCP实现
- 《容器层》之承上启下
- 实战篇:动手写web版sdk
- 原理篇:消息可靠投递
- 进阶:基准测试
- 进阶:智能路由
- 实战篇:服务注册与发现
- 架构:部署架构及容灾
- 进阶:性能优化之no-copy
- 进阶:多租户及灰度发布
- 里程碑4️⃣:可观测服务之监控
- 架构篇:系统架构与技术选型
- 里程碑3️⃣:完成web版sdk
- 开篇:小册的意义
- 进阶:性能优化之存储
- 进阶:性能优化之缓冲
- 实战篇:消息存储与离线同步
- 实战篇:目录结构及通信协议
- 实战篇:服务治理与群管理