IM系统架构设计 01

本文探讨了IM系统架构设计中网络传输协议和数据通信格式的选择。针对网络协议,作者建议在UDP和TCP之间权衡,考虑实时性与可靠性的平衡,HTTP则作为扩展支持。对于数据通信格式,推荐使用JSON,因其符合当前需求和产品周期。文中还介绍了应对海量用户的服务器负载均衡和分布式部署策略。
摘要由CSDN通过智能技术生成

浅谈IM系统的架构设计

选择困难症1:网络传输协议的选择


目前我知晓的所有IM系统传输即时消息无外乎使用UDP、TCP、基于TCP的http这几种协议中的一种或几种。比如QQ主要采用UDP协议,MSN主要采用TCP协议,而且他们也都支持HTTP协议的代理模式。更多资料,请参加这篇文章《即时通讯等通信软件的网络协议和端口收集整理》。

 

我们该如何选择呢?
 

  • UDP协议实时性更好,但是如何处理安全可靠的传输并且处理不同客户端之间的消息交互是个难题,实现起来过于复杂;
  • HTTP协议属于扩展支持,我们在产品的初始阶段可以不用支持;
  • 那就非TCP协议莫属了,要考虑的同样也有很多,特别是如果有海量用户的需求。如何保证单机服务器高并发量,如何做到灵活,扩展的架构。

选择困难症2:数据通信格式(协议)的选择


二进制格式?文本格式?这个话题转到这篇文章《如何选择即时通讯应用的数据传输格式》,从我们当前的需求和产品周期上我觉得选择JSON形式的数据协议是最好的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值