首先,通过实践完成一个分布式、高并发的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
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。