我们不妨先看一段旧闻:
2014年Facebook以190亿美元的价格,收购了当时火爆的即时通信工具WhatsApp,而此时WhatsApp仅有50名员工。
是的,也就是说这 50 名员工人均创造了 3.8 亿美元的价值。这里,我们不去讨论当时谷歌和 Facebook 为争抢 WhatsApp 发起的价格战,从而推动这笔交易水涨船高的合理性,从另一个侧面我们看到的是:依托于 IM 技术的社交软件,在完成了“连接人与人”的使命后,体现出的巨大价值。
OICQ 这款聊天工具不知大家是否熟悉,1999 年诞生于深圳,通过熟人关系的快速构建,在一票基于陌生人关系的网络聊天室中脱颖而出,逐渐成为国内社交网络的巨头。
没错,它就是 QQ 的前身,在之后的数年里,腾讯正是通过不断优化升级 IM 相关的功能和架构,凭借 QQ 和微信这两大 IM 工具,牢牢控制了强关系领域的社交圈。
由此可见,IM 技术作为互联网实时互动场景的底层架构,在整个互动生态圈的价值斐然。
随着互联网的发展,人们对于实时互动的要求越来越高。于是,IM 技术不止应用于 QQ、微信这样的面向聊天的软件,它其实有着宽广的应用场景和足够有想象力的前景。甚至在不知不觉之间,IM 系统已经根植于我们的互联网生活中,成为各大 App 必不可少的模块。
从图中可以看到,IM 发展至今,它并不是一门仅限于聊天、社交的技术,实际上已经广泛运用于我们身边形形色色的软件中。
国内的网络应用软件目前发展极为火爆,因为我国有着网络应用的最大市场。随着 5G 等高速移动网络技术的快速推进,网络速度和稳定性大幅提升、网络流量费用降低,势必今后还会有越来越多的软件依托实时消息的优势理念加入到 IM 的大家庭中来。
毕竟谁不希望所有互动都能“实时触达”而且“安全可靠”呢?这也就意味着,5G 时代全面来临时,懂 IM 的程序员意味着更多的就业机会和更开阔的发展前景。
然而我们要打造一套“实时、安全、稳定”的 IM 系统,是需要深入思考很多个地方的,尤其是作为整个实时互动业务的基础设施,扩展性、可用性、安全性等方面都需要有较高的保障。比如:
某个明星忽然开直播了,在线用户数和消息数瞬间暴涨,该如何应对?
弱网情况下,怎么解决消息收发失败的问题,提升消息到达率?
如何避免敏感聊天内容由于网络劫持而泄露?
诸如此类的问题可能有很多种解决方案,但是对于不同的场景适用的方案可能也不一样。
另外现在互联网公司在面试的时候很多要考察系统设计能力,它不像算法那么晦涩难懂,但构建 IM 作为系统设计里面的常见题目,也是后端程序员必须要掌握的。
鉴于此,和极客时间团队精心打磨三个月后,《即时消息技术剖析与实战》上线了,专栏中我将会从实际经验角度教你如何做 IM 的系统设计,10 周的时间带你精通 IM 的关键互联网后端业务的技术点和架构思想。
我是谁?
袁武林,微博研发中心技术专家,2014 年加入新浪微博。目前主要负责微博消息箱和直播互动相关的业务,曾参与微博消息箱和微博直播互动平台的整体架构设计,主导微博消息箱后端全链路架构优化改造等。
在加入微博前,从事物联网相关的远程实时跟踪和工控相关工作,在 IM 领域拥有多年的行业经验积累。
我精心梳理了一张脑图,希望你能了解在 IM 技术发展到现在这个时期,你最应该掌握的关键技术和学习重点是什么,同时把这些年积累到的一些一线的实战经验进行梳理而后沉淀在这个专栏中。
希望感兴趣的小伙伴在这门课程结束之后,有三方面的收获:
1、掌握实时消息技术,能够从 0 打造一个 IM 系统。
2、通过学习 IM 的关键互联网后端业务的技术点和架构思想,体会到技术的互通性,通过思考和沉淀,形成自己的一套后端架构知识体系,并能实际运用到自己的业务或者系统中去。
3、在超大用户规模的场景下,实时消息系统经常会碰到的一些问题和容易出现瓶颈的环节,我会给出如何通过技术的升级和架构上的优化的解决方案。
值得一说的是,课程主要以实践为主,在构建整个 IM 系统系统的过程中,我将通过案例上手实战,一是比较有趣,二是在你动手实践中,更容易形成较为深刻的思考和实践能力,逐渐完善自身关于 IM 系统架构的知识网络。
鉴于此,我把课程分成三个模块,基础篇、场景篇、进阶篇,基本思路是:先从整体了解、再细化到每个垂直领域去了解它们有什么不同,进而关注到一些实现上的关键技术点、然后再回归到整体面。
InfoQ 粉丝专享福利
1、早鸟优惠¥45,原价¥68。
2、分享海报,邀请好友订阅即可获得¥18 返现,邀请 3 个人相当于免费学。
5G 时代下,精通 IM 的程序员意味着更多的就业机会和更开阔的发展前景。立即订阅>>>
评论