钉钉企业级 IM 的高可用、存储创新之道
极客时间编辑部
讲述:初明明大小:3.81M时长:04:10
在上一篇文章中,我们分享了钉钉企业级 IM 产品在架构层面的成功实践,而企业级 IM 产品对于高可用、安全性以及数据存储等方面要求远高于 ToC 场景下的 IM 产品,钉钉在这些方面又是怎么做的?以下是钉钉 IM 服务端研发技术专家劲弩的解答。
高可用、安全性如何保证
一旦钉钉的消息发不出去或者收消息出现延迟,就会大面积影响企业的核心业务运转。同时,聊天数据长期保存,历史消息可实时回溯,一方面对数据存储提出了更高要求,另一方面也对数据的安全性带来了新的挑战。
高可用架构:通过异地容灾、中间件冗余、存储冗余,在架构上避免单个中间件、存储或者地域的灾难对系统可用性产生影响。比如今天 IM 依赖的 DB 宕机,并不会影响用户的消息收发成功率。
变更管理:核心系统控制发布频率,每一次发布必须 checklist 校验。发布可灰度、可监控、可回滚,控制问题引入的影响面。
持续精进:通常大的故障都是由小的隐患累计产生。如何发现并解决系统中的隐患?得有机制性的解决方案。钉钉每天投入专人,去发现系统中的稳定性问题。常年累计下来,系统的健康度越来越高。
作为企业级应用,安全是立身之本,也是企业客户最敏感的关注点。
钉钉 IM 拥有高强度的链路加密,达到银行级数据加密级别。IM 在全链路上都是加密的,因为即使有一个点疏漏,数据就可能泄漏。所以在客户端、长连接、MQ、存储、业务上下游,都做了加密。在接口访问层面,也有完善的鉴权、访问控制,确保数据不会被非法使用。
数据安全上,企业还可以选择第三方加密。聊天数据同时被钉钉、三方双重加密,数据只属于企业。
长期的安全技术沉淀。钉钉背后有阿里集团数千名工程师建立的安全保障机制。每一次发布都会有代码安全扫描,一般的水平权限漏洞都可以在扫描中发现,用工具把大部分漏洞扼杀在上线前。同时自主研发了动态防入侵系统,实时监测平台的安全状况,对于入侵事件具备分钟级快速发现能力及进行事件的快速响应、止血与溯源能力。
攻防演练。平时多演练,战时不流血。钉钉有专门的安全团队对系统进行攻防演练,红蓝对抗,及时发现潜在的安全问题,提升入侵检测及安全应急响应能力。
钉钉的存储、创新之道
不同于传统 IM,钉钉在存储方面的业务需求与技术实现都有新的要求。
由于消息需要长期保存,钉钉做存储的一个重点必然是降低长期数据的存储成本。钉钉在其中做了很多事情,比如冷热分离、读写扩散、消息清理等。没有成本上的优化,业务的增长带来的是不可持续的成本增长,这是无法接受的。
另一点是存储的单元化。一般 ToC 产品的单元化主要是由国际化驱动。海外市场有合规的要求,消息必须存储在当地。对于钉钉来说,除了国际化的需求,也有组织专有部署的需求,因此钉钉的存储架构上也支持单元化部署,以及多单元的互通。
除了业务场景变化给技术带来的新要求,技术同学也会有一些 geek 的想法,从而反哺业务。比如钉钉的聊天机器人,就是 IM 技术同学自发发起的。最初,很难说清楚聊天机器人对业务的贡献,因此技术同学偷偷把 MVP 做出来,之后慢慢发现了聊天机器人的价值。所以最终决定开放给用户,也受到了用户的广泛好评。
以上就是今天的内容,希望对你有所帮助。
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
- 深入了解
- 翻译
- 解释
- 总结
该免费文章来自《极客视点》,如需阅读全部文章,
请先领取课程
请先领取课程
免费领取
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
登录 后留言
精选留言
由作者筛选后的优质留言将会公开显示,欢迎踊跃留言。
收起评论