即时消息技术剖析与实战
袁武林
微博研发中心技术专家
立即订阅
6503 人已学习
课程目录
已完结 24 讲
0/4登录后,你可以任选4讲全文学习。
开篇词 (1讲)
开篇词 | 搞懂“实时交互”的IM技术,将会有什么新机遇?
免费
基础篇 (8讲)
01 | 架构与特性:一个完整的IM系统是怎样的?
02 | 消息收发架构:为你的App,加上实时通信功能
03 | 轮询与长连接:如何解决消息的实时到达问题?
04 | ACK机制:如何保证消息的可靠投递?
05 | 消息序号生成器:如何保证你的消息不会乱序?
06 | HttpDNS和TLS:你的消息聊天真的安全吗?
07 | 分布式锁和原子性:你看到的未读消息提醒是真的吗?
08 | 智能心跳机制:解决网络的不确定性
场景篇 (4讲)
09 | 分布式一致性:让你的消息支持多终端漫游
10 | 自动智能扩缩容:直播互动场景中峰值流量的应对
11 | 期中实战:动手写一个简易版的IM系统
12 | 服务高可用:保证核心链路稳定性的流控和熔断机制
进阶篇 (10讲)
13 | HTTP Tunnel:复杂网络下消息通道高可用设计的思考
14 | 分片上传:如何让你的图片、音视频消息发送得更快?
15 | CDN加速:如何让你的图片、视频、语音消息浏览播放不卡?
16 | APNs:聊一聊第三方系统级消息通道的事
17 | Cache:多级缓存架构在消息系统中的应用
18 | Docker容器化:说一说IM系统中模块水平扩展的实现
19 | 端到端Trace:消息收发链路的监控体系搭建
20 | 存储和并发:万人群聊系统设计中的几个难点
21 | 期末实战:为你的简约版IM系统,加上功能
22 | 答疑解惑:不同即时消息场景下架构实现上的异同
结束语 (1讲)
结束语 | 真正的高贵,不是优于别人,而是优于过去的自己
即时消息技术剖析与实战
登录|注册

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

袁武林 2019-10-18
你好,我是袁武林。
不知不觉中,在大家的耐心陪伴下,即时消息专栏的更新马上就要结束了。
首先,要感谢各位同学对我的信任和宽容,给我这个机会,让我能够在这段短暂的时间里,带领大家一起来学习即时消息这一门古老但又充满活力的技术。
对我来说,这是一段非常特别和有趣的体验,我也第一次尝试通过专栏的方式,将自己了解的知识进行体系化的输出。
当然这并不是一件简单的事情,知识点整理、稿件打磨、录音、留言反馈等等,背后的艰辛可能也只有经历过的人才能体会到。但每次专栏更新上线,看到自己的付出有帮助到一些同学,并且得到肯定的时候,我瞬间感觉又充满了战斗的能量。

关于专栏的落地

实际上,在开始筹备这个专栏的时候,我个人是比较没有信心的。
原因倒不是说技术层面的问题,而是担心即时消息这个话题,因为受众相对没有那么广泛,在推出之后,如何让更多非 IM 行业的小伙伴,也能够感兴趣并且参与进来,一直是我和极客时间团队需要认真考虑的一个事情。
因为一直没有想到更好的办法,所以这个专栏甚至中途一度停滞中断。直到 6 月下旬,经过和极客时间小伙伴们的多次讨论,我们才最终决定继续推进这个专栏的落地。

关于即时消息技术的前景

从我们的角度看,随着 4G 网络的普及和 5G 网络的逐步推广,在移动网络场景中,不管是流量资费还是网络的稳定性和速度、带宽,相比几年前都有了非常明显的提升。
取消
完成
0/1000字
划线
笔记
复制
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
该试读文章来自付费专栏《即时消息技术剖析与实战》,如需阅读全部文章,
请订阅文章所属专栏。
立即订阅
登录 后留言

精选留言(17)

  • Kai Pan 潘凯
    我是在硅谷某大厂工作的资深软件工程师,工作内容和IM毫不相关。一次偶然的机会听了袁老师的第一课,从此不能自拔,追了一个月的时间,一直听完了最后一课。毫不夸张地说,你的这门课是我近几年来听过的讲得最好的课程,无论中文还是英文。你把零散的知识碎片梳理总结成系统性的课程,这其中的方法论很值得我学习。非常期待有朝一日能与你见面交流!

    作者回复: 哈哈,过誉了,能够对你有所帮助我非常开心,也希望给课程多提意见。

    2019-10-29
    6
  • 墙角儿的花
    感谢老师,很受益。终究要再见,不能再进行交流了,好遗憾

    作者回复: 感谢你的支持,不说再见,可以随时在留言区和我交流的哈。
    另外也可以关注
    我的微博:https://weibo.com/u/1243432494
    我的个人博客:https://coldwalker.com

    最后借留言区打个广告,我们团队在招聘IM高级工程师,有兴趣的同学欢迎应聘这个职位:
    https://www.lagou.com/jobs/6487085.html

    2019-10-18
    3
  • leslie
    非常喜欢陈皓老师在二叉树视频中的一句话“芝兰生于空谷,不以无人而不芳”。学到现在听过各个老师的方式:最终还是选了刘超老师的方式改进成自己的。
           学习其实很简单:从开课一路坚持到最后一节课一周不拉的学完,其实学习的过程中还是碰到了大量的问题,导致不得不去扩展学习,不过庆幸的是最后坚持的学完了;坚持到最后其实就是一种胜利。学习的过程其实就是不断的自我否定自我前进的过程:定期对比自己每个季度能看到自己的的进步就是一种自我的胜利。
           虽然今天是最后一节课,不过还是想求教老师一个问题;如果自己部署IM的话,那么有没有可用的开源监控系统可用?老师的课程中提到了这块而自己又OPS多年-学习中觉得这块还是非常重要,再好的系统不可避免有问题,监控系统是及时发现问题和解决问题的必要条件;希望老师在这块最后能简单的分享还不错的开源工具,让我能学习和修正。
           谢谢老师一路以来的辛勤付出和顿顿教诲:希望将来还能看到老师的分享;谢谢。

    作者回复: 开源的监控系统很多呀像我们现在就在用graphite,grafana,zipkin这些,也确实不错,有机会可以分享下我们在这一块的工程实践。另外,也谢谢你对我的专栏的支持,有问题可以随时交流。

    2019-10-18
    2
  • 我来也
    老师辛苦了!
    现在im确实很流行,slack实在是太厉害了。
    恰好最近的项目也是作im的,就再看看别人是怎么做的。等到后期用户量上去了,也知道该往什么方向优化了。
    2019-10-18
    1
  • 小可
    这个专栏是我追的比较紧的课程,之前虽然我没做过IM系统,但对IM有点兴趣,网上虽然有类似的博客文章,但都不是很深入。我想知道真正的IM系统是怎么实现的,是不是和我想的一样?一节一节看着专栏,也在一步一步验证我的想法。有些点,经过老师的讲解也是茅塞顿开,真的感谢袁老师真心细致的讲解,谢谢。

    作者回复: 感谢支持和肯定,你们能够真正从中学到东西就是我最大的收获。也相信你的努力会得到应有的回报。

    2019-10-18
    1
  • clip
    说来惭愧,之前买了很多的专栏但完成度都比较低。这个专栏是第一个几乎跟着更新看完的,留言的参与度也是最高的。因为现在的工作是 IM 相关的业务开发,但是因为实际开发接触面有限不知道整体的架构。学习专栏之后通过和已经知道的一些信息做对比就有更深的认识了,对之后的工作也会很有帮助。多谢大佬的专栏!

    作者回复: 谢谢你的肯定,能够对你们有所帮助是我最开心的事情。

    2019-10-18
    1
  • 🐾
    真正的高贵,不是优于别人,而是优于过去的自己。
    完整学了一遍,很不错的专栏,还会二刷三刷,袁老师辛苦了。

    作者回复: 谢谢你的肯定,与你共勉。有问题可以留言区随时再交流。

    2019-10-18
    1
  • 老师好,老师的专栏结束了,感觉还没有学够,感觉要学的还太多。如何把im落地生产环境还是摸不着头脑,好在老师已经给我们提供了一个demo。以前没接触过im,问您一个问题。我们想在app中做个消息提醒功能,您说我们该用什么技术,用户在2万左右。目前想用websocket做可以吗?还是用http2的推送。或者在前端做轮询定时请求后端接口就好。还有哪些好的方案?我们用的springboot。

    作者回复: 用户量小的话可以先尝试用轮询来实现,这种实现成本是最低的,然后再逐步发展的话可以基于mqtt来做长连推送,或者直接用第三方的推送服务,用户量小的话也花不了多少钱。

    2019-10-18
    1
    1
  • 天健园扛把子
    感谢老师,一路走来收获颇丰!

    作者回复: 感谢支持

    2019-11-24
  • yic
    第一个学完的专栏,感谢老师的辛勤付出。系统性的讲解了IM系统,很完善的系统。要把这样一个完善的系统做好还是需要一个团队,甚至多个团队的努力。可惜微博在北京,不然倒是想加入一睹老师风采,哈哈

    作者回复: 会有机会的:后厂村欢迎你

    2019-11-22
  • 大土豆
    Android客户端开发路过,负责IM客户端软件开发一年时间,踩过了无数的坑。老师,其实IM应用层协议这块倒是可以深入讲一下,比如私有协议的制订,是走文本协议还是二进制协议,数据格式方面是用json还是protobuf,这些都是比较有趣的。

    作者回复: 好的,记下了,等有机会吧

    2019-11-20
  • wuhaka
    花了一周多时间听完了,对于我现在开发的IM业务帮助很大,网上的IM资料很少有系统性的介绍,独自开发IM前后端总是闭门造车走了不少弯路,虽然也解决IM核心的群聊、集群等一些难点,但在工业级产品前感觉个人项目还是Demo级别的,需要提升的地方太多,感谢老师的精彩分享。
    后看了老师的一篇关于DirectByteBuffer堆外内存泄漏排查的文章,很见功底,是个合格的架构师。

    作者回复: 感谢支持,这次专栏的开设对于我也是一个学习的过程,和你们共同进步。

    2019-11-08
  • 鱼向北游
    打卡 花了两周学完的,以前在游戏行业,也算和im沾边,前阵子又摸滚打爬把通用网关通信趟了一边坑,然后才看到老师专栏,发现摸滚打爬的坑老师这里基本都详细涵盖了,专栏再早点上就好了

    作者回复: 加油,什么时候开始都不晚

    2019-11-08
  • 唯我天棋
    老师是否能够建关于IM讨论的社群,感觉还是有很多问题,需要进一步讨论的,有点不够过瘾
    2019-11-04
  • 不学怎么改Bug
    感谢老师精彩的文章。
    订阅好几个专栏了,这是第一个看完的,知道了IM服务是什么有哪些技术点,心里有了IM的轮廓。
    接下来要学习实现IM相关的知识netty等用来coding。

    作者回复: 加油~

    2019-10-31
  • 罗帮奎
    感觉这些东西,如果不是自己实际项目操练过,真的很难去掌握理解。专栏看一遍还是有点懵逼

    作者回复: 期中和期末的实战可以自己动手试一试,能够加深理解。

    2019-10-29
  • YangYi乐1990
    我是直接奔到结尾。瞅瞅结尾,再看内容。
    2019-10-24
收起评论
17
返回
顶部