即时消息技术剖析与实战

即时消息技术剖析与实战 / 10周精通IM后端架构技术点

袁武林 微博研发中心技术专家
  • 课程目录
  • 课程介绍
  • 在线阅读:开篇词 | 搞懂“实时交互”的IM技术,将会有什么新机遇?

    在学习和实践IM技术的过程中,也可以系统化提升你在后端方面的整体能力。

  • 01 | 架构与特性:一个完整的IM系统是怎样的?

    我们会从“使用者的直观体验”和“实现上的系统构成”的两个角度,一起了解一个较完整的IM系统都应该有什么。

  • 02 | 消息收发架构:为你的App,加上实时通信功能

    增加实时消息模块,包括几块内容:制定好消息的存储,建立高效实时的消息收发通道,依托第三方辅助通道来提升消息到达率。

  • 03 | 轮询与长连接:如何解决消息的实时到达问题?

    为了更好地解决实时性问题,即时消息领域经历过的几次技术的迭代升级。

  • 04 | ACK机制:如何保证消息的可靠投递?

    保证消息的可靠投递是IM系统设计中至关重要的一个环节,保证“不丢消息”“消息不重复”,对用户体验的影响较大,十分重要。

  • 05 | 消息序号生成器:如何保证你的消息不会乱序?

    今天我们聊一聊在多发送方、多接收方、服务端多线程并发处理的情况下,保持消息时序一致的重要性以及处理方法。

  • 06 | HttpDNS和TLS:你的消息聊天真的安全吗?

    即时消息中,消息安全性是各种私密社交场景的核心需求,我们可以从消息传输、消息存储、消息内容这三个维度来对安全性进行评价。

  • 07 | 分布式锁和原子性:你看到的未读消息提醒是真的吗?

    今天我们学习未读数在即时消息场景中的重要性,分析造成未读数和消息不一致的原因,并探讨了保证未读数原子化变更的几种方案。

  • 08 | 智能心跳机制:解决网络的不确定性

    今天我们来聊一聊通过客户端和IM服务端建立的“心跳机制”的重要性及其能够解决的问题,以及心跳检测的几种实现方式。

  • 09 | 分布式一致性:让你的消息支持多终端漫游

    今天我们来聊一聊如何实现消息的多终端漫游,以及你需要了解的几个离线消息同步的关键点。

  • 10 | 自动智能扩缩容:直播互动场景中峰值流量的应对

    今天我们从直播互动的场景出发,聊一聊直播互动相对于普通聊天的业务形态区别和技术挑战,以及面对高并发时的优化手段。

  • 11 | 期中实战:动手写一个简易版的IM系统

    通过一次理论与实践相结合的动手实战,让你来实现一个简易的聊天系统,帮助你进一步加深对IM系统核心技术的理解。

  • 12 | 服务高可用:保证核心链路稳定性的流控和熔断机制

    今天我们来聊一聊流控的算法、全局流控及自动熔断机制。

  • 13 | HTTP Tunnel:复杂网络下消息通道高可用设计的思考

    消息通道在复杂网络情况下,容易出现连不上、速度慢、连接不稳定的问题,通过分析具体原因,有针对性地提出解决这些问题的办法。

  • 14 | 分片上传:如何让你的图片、音视频消息发送得更快?

    在IM场景中,针对图片、语音、视频的优化一直都是一个需要长期投入和突破的重点。今天我们就来聊一聊多媒体消息的优化手段。

  • 15 | CDN加速:如何让你的图片、视频、语音消息浏览播放不卡?

    提升用户浏览图片和播放音视频体验的一个有效办法就是:让用户离资源更近。CDN加速技术,就是这个有效办法。

  • 16 | APNs:聊一聊第三方系统级消息通道的事

    如何在App关闭或网络功能受限的情况下,仍然成功发送消息到接收人设备呢?

  • 17 | Cache:多级缓存架构在消息系统中的应用

    缓存作为系统优化的一把利器,是目前为止最有效的提升系统整体性能的手段。

  • 18 | Docker容器化:说一说IM系统中模块水平扩展的实现

    服务和资源的水平扩展能力,决定了我们的系统架构随着业务发展是否具备“高可扩展性”,也决定了这个架构的生命周期。

  • 19 | 端到端Trace:消息收发链路的监控体系搭建

    只有通过对消息收发链路的监控,我们才能够实时地了解到链路是否可用、后端服务是否足够健康。

  • 20 | 存储和并发:万人群聊系统设计中的几个难点

    今天我们从架构设计层面,来聊一聊万人群聊系统中的几个难点,以及相应的解决方案。

  • 21 | 期末实战:为你的简约版IM系统,加上功能

    通过这次期末实战整体技术实现上的升级,希望你能更深刻地体会到IM系统升级前后,对使用方和服务端压力的差异性。

  • 22 | 答疑解惑:不同即时消息场景下架构实现上的异同

    通过摘录几个较为典型和有意义的问题,为你集中答疑,让你对知识的理解更加深入。

  • 结束语 | 真正的高贵,不是优于别人,而是优于过去的自己

    只要我们保持终身学习的姿态,持续地投入到真正喜欢的事情上,就能让今天的我们比昨天进步一点点。

  • 结课测试 | “即时消息技术剖析与实战”100分试卷等你来挑战!

    还等什么,快来测测你的IM知识水平吧!

25讲

你将获得

  • 从0开始打造一个IM系统;
  • 整合网络、数据库等7大后端必修技术;
  • 搞懂抖音/微信/微博等产品IM功能实现原理;
  • 分布式、高并发等进阶场景实战。

讲师介绍


课程介绍

提起IM,你最先想到的可能就是微信和QQ?但是,事实上它有着相当广阔的应用场景和极具想象力的前景。

人们逐渐对“实时互动”的需求越来越高,IM已经成为当下热门 App 的必备模块,在不同垂直领域都有相应的业务实现。随着业务场景的不断增多,IM技术毫无疑问也会加入开发者们的底层基础架构能力库中。

此外,IM并不是一项全新的技术,而是众多前后端技术的综合体,并因自身使用场景的不同,在一些技术点上有更多侧重。

作为一个完整的架构体系,整个IM系统的实现上深度用到了大量的后端必备知识,它的架构设计在大规模分布式、高并发、一致性架构设计等方面也有很多成熟的解决方案。这些技术点也恰恰是后端知识的重难点所在。

众所周知,后端技术点十分分散,而学习“即时消息”的功能设计,则是重新遍历后端实践经典案例的过程。课程的案例中整合了网络、数据库、性能、安全、分布式、架构设计、消息队列等多项后端关键技术,有助于系统化提升你的后端能力。

课程共22讲,分为三大模块。课程讲解的基本思路是:先建立整体了解,再细化到每个垂直领域去了解它们有什么不同,进而关注到一些实现上的关键技术点,最后再回归到整体面。

基础篇:我们会一起了解一个即时消息系统的基本构成以及重要特性,学习如何在原有的App上加入一个即时消息模块。并且,我们会从IM系统所适用的共性业务场景需求出发,学习IM系统支持的一些基础功能,以及这些功能的具体实现。

场景篇:在场景篇里,会挑选IM技术中几个常见的具体垂直应用场景,这些场景在其特性的技术实现上有一定的挑战,课程会针对比较核心的重点和难点来进行拆分讲解。比如消息的多终端漫游功能的实现重点,直播互动场景中峰值流量的应对等等。

进阶篇:进阶篇在基础篇之上介绍了进阶知识,IM场景里在海量消息、高并发、服务高可用、服务保障等方面的优化实践,这部分内容具备较强的通用性,适用于大部分后端服务架构,对于从事后端服务开发设计的同学均有帮助。


课程目录


特别放送

免费领取福利

限时活动推荐


订阅须知

随机推荐

怡颗莓蓝莓购买前需要注意什么?用户评测真实曝光?

怡颗莓蓝莓实际效果怎样?使用情况报告!

特仑苏牛奶乳品实际效果怎样?专业老用户评测?

特仑苏牛奶乳品使用感受如何?看完这篇评测就行了!

艾惟诺婴童护肤推荐哪种好用?最真实的使用感受分享!

bc babycare婴童浴巾-浴衣使用感受如何?功能评测介绍?