描述
即时消息(Instant Messaging,IM),又称实时消息,是一个可以支持在线交流的常见功能场景。
提起 IM,你最先想到的可能就是微信和 QQ?但是,事实上它有着相当广阔的应用场景和极具想象力的前景。
人们逐渐对“实时互动”的需求越来越高,IM 已经成为当下热门 App 的必备模块,在不同垂直领域都有相应的业务实现。随着业务场景的不断增多,IM 技术毫无疑问也会加入开发者们的底层基础架构能力库中。
此外,IM 并不是一项全新的技术,而是众多前后端技术的综合体,并因自身使用场景的不同,在一些技术点上有更多侧重。
作为一个完整的架构体系,整个 IM 系统的实现上深度用到了大量的后端必备知识,它的架构设计在大规模分布式、高并发、一致性架构设计等方面也有很多成熟的解决方案。这些技术点也恰恰是后端知识的重难点所在。
众所周知,后端技术点十分分散,而学习“即时消息”的功能设计,则是重新遍历后端实践经典案例的过程。课程的案例中整合了网络、数据库、性能、安全、分布式、架构设计、消息队列等多项后端关键技术,有助于系统化提升你的后端能力。
作者袁武林,微博研发中心技术专家,2014 年加入新浪微博。目前他主要负责微博消息箱和直播互动相关的业务,曾参与微博消息箱和微博直播互动平台的整体架构设计,主导微博消息箱后端全链路架构优化改造等。
在加入微博前,袁武林从事物联网相关的远程实时跟踪和工控相关工作,在 IM 领域拥有多年的行业经验积累。
课程模块
课程共 22 讲,分为三大模块。课程讲解的基本思路是:先建立整体了解,再细化到每个垂直领域去了解它们有什么不同,进而关注到一些实现上的关键技术点,最后再回归到整体面。
基础篇
我们会一起了解一个即时消息系统的基本构成以及重要特性,学习如何在原有的 App 上加入一个即时消息模块。并且,我们会从 IM 系统所适用的共性业务场景需求出发,学习 IM 系统支持的一些基础功能,以及这些功能的具体实现。
场景篇
在场景篇里,会挑选 IM 技术中几个常见的具体垂直应用场景,这些场景在其特性的技术实现上有一定的挑战,课程会针对比较核心的重点和难点来进行拆分讲解。比如消息的多终端漫游功能的实现重点,直播互动场景中峰值流量的应对等等。
进阶篇
进阶篇在基础篇之上介绍了进阶知识,IM 场景里在海量消息、高并发、服务高可用、服务保障等方面的优化实践,这部分内容具备较强的通用性,适用于大部分后端服务架构,对于从事后端服务开发设计的同学均有帮助。