期中测试|IM 系统设计实战
陈现麟
该思维导图由 AI 生成,仅供参考
你好,我是陈现麟。
现在我们已经学完“分布式计算篇”了,一直坚持到现在不容易,恭喜你做到了,这是一件值得鼓励和高兴的事情。
在“分布式计算篇”的学习过程中,我们一起讨论了非常多的分布式计算相关的技术原理,并且在讨论技术原理的时候,同时也一起讨论了技术出现的原因、解决问题的思路和架构设计中的 trade-off 。我认为它们和技术原理是一样重要的,是我们进行系统设计的软素质,相信你已经具备了分布式在线业务系统的架构能力,还有足够的信心去做一些相关的系统设计了。
所以,今天我们就来个期中测试,实际考察一下你对分布式计算系统的理解,以及对所学知识的应用情况。
你可以用一周的时间,去做一个 IM 系统的架构设计,对于这个 IM 系统,从业务上和架构上有如下的需求。
业务上的需求:
支持单聊。
100 个人以内的群聊。
峰值同时在线 1000 w。
峰值发送消息 10 w QPS。
架构上的需求:
开发模式简单,新功能支持快速迭代。
长连接支持就近接入和负载均衡。
分层设计。
在功能迭代上线的时候,不要影响到用户已经建立好的长连接。
发送消息的接口是幂等的。
根据上面描述的业务上和架构上的需求,请你分别回答下面几个问题:
1.IM 系统一般都会涉及基于 TCP 的长连接通道和基于 HTTP(S) 的短连接通道,你认为长连接通道和短连接通道的职责分别是什么?
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
- 深入了解
- 翻译
- 解释
- 总结
本文是关于IM系统设计实战的期中测试,要求读者针对业务和架构需求进行系统设计。业务需求包括支持单聊、100人以内的群聊、峰值同时在线1000万人和峰值发送消息10万QPS;架构需求包括开发模式简单、长连接支持就近接入和负载均衡、分层设计、不影响用户已建立长连接的功能迭代上线、幂等的消息发送接口等。读者需要回答关于长连接和短连接通道的职责、就近接入和负载均衡的设计、系统的分层设计、功能迭代上线不影响长连接、消息扩散模式选择、消息发送接口的幂等性保障、限流实施位置、连接成功率提高、满足业务需求的机器资源需求等问题。这篇文章对IM系统设计的技术细节进行了深入探讨,对于系统设计和架构的理解和应用有很高的要求。
仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《深入浅出分布式技术原理》,新⼈⾸单¥59
《深入浅出分布式技术原理》,新⼈⾸单¥59
立即购买
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
登录 后留言
全部留言(1)
- 最新
- 精选
- yanger2004实战问题很实用!2023-08-17归属地:广东
收起评论