开发者社区> 问答> 正文

为什么要做高并发IM(即时通信)的实践?

为什么要做高并发IM(即时通信)的实践?

展开
收起
松岛菜菜 2021-10-29 15:21:41 410 0
来自:华章出版社
1 条回答
写回答
取消 提交回答
  • 首先,通过实践完成一个分布式、高并发的IM系统,具有相当的技术挑战性。这一点,对于从事传统的企业级Web开发者来说,相当于进入了一片全新的天地。企业级Web,QPS(Query Per Second,每秒查询率)峰值可能在1000以内,甚至在100以内,没有多少技术挑战性和含金量,属于重复性的CRUD的体力活。注:CRUD是指Create(创建)、Retrieve(查询)、Update(更新)和Delete(删除)。而一个分布式、高并发的IM系统,面临的QPS峰值可能在十万、百万、千万,甚至上亿级别。对于此纵深层次化的、递进的高并发需求,将无极限地考验着系统的性能。需要不断地从通信协议、到系统的架构进行优化,对技术能力是一种非常极致的考验和训练。

    其次,就具有不同QPS峰值规模的IM系统而言,它们所处的用户需求环境是不一样的。这就造成了不同用户规模的IM系统,各自具有一定的市场需求和实际需要,因而它们不一定都需要上亿级的高并发。但是,作为一个顶级的架构师,就应该具备全栈式的架构能力,对不同用户规模的、差异化的应用场景,提供和架构出与对应的应用场景相匹配的高并发IM系统。也就是说,IM系统综合性相对较强,相关的技术需要覆盖到满足各种不同应用场景的网络传输、分布式协调、分布式缓存、服务化架构等。

    资料来源:《Netty、Redis、ZooKeeper高并发实战》,文章链接:https://developer.aliyun.com/article/726757

    2021-10-29 15:24:07
    赞同 展开评论 打赏
问答分类:
问答标签:
问答地址:
来源圈子
更多
收录在圈子:
+ 订阅
问答排行榜
最热
最新

相关电子书

更多
Phoenix在客服系统的实践 立即下载
# Apache Spark系列技术直播# 第八讲 【 微软Azure平台利用Intel Analytics Zoo构建AI客服支持实践 】 立即下载
客服领域的数据智能实践 立即下载