一个热门视频直播间人数可能达到几十万甚至上百万人,几十万人发消息,几十万人接收,流量至关惊人,那么服务端要如何设计才能保证系统流畅?本文做者将结合他在 网易云信多年IM开发的经验进行深度分析。
处理各类设备的兼容问题,包括对ios,Android,Windows, Web等各类开发平台的语言适配;消息通道的管理维护,包括移动设备上的弱网络管理,断线重连等;保证数据安全,全部上行下行的数据包都须要加解密处理,规避数据泄露或中间人攻击等各类安全风险。服务器
管理大量客户端链接,单个节点能够维护的客户端数量在数十万量级;处理不一样类型客户端的协议兼容,因为客户端实现技术的多样性,致使客户端与网关之间底层的数据通讯协议存在差别,须要由不一样的接入网关作协议转换;处理数据安全逻辑;跨网络的高可用逻辑,网络级别的主备(谁知道哪天网线会被蓝翔的毕业生挖断呢?);广播消息的高效下行分发,将收到的广播消息分发到全部链接在本节点上的客户端。网络
做为业务层接入的中转,同时承担负载均衡和高可用的做用,单个业务节点处理能力达到瓶颈时更方便的扩容,路由层使业务层扩容对前置网关层彻底透明;当一个网络的业务集群出现网络故障时,能够切换到备用网络,保证服务可用性。架构
处理聊天室内的业务消息,一个集群内有众多节点,节点角色相互对等,任何一个节点的故障会使整个集群的处理能力降低,但不会引发服务的中断,由于其余节点能够继续接管业务数据包的处理;业务集群一样有多个网络环境的热备,以应对可能出现的区域性网络故障。并发
看完文章仍是不知道怎么作?那么能够尝试借用目前已有的平台或工具,如今应用须要关注的是怎么以最快的速度抓住用户。
负载均衡
网易云信是一个面对开发者的很好的IM云平台。十余年的研发积累,使其在即时通信技术方面处于全国领先水平。网易云信至今已申请了60余项IM专利,远超市场同类产品。欢迎你们与咱们讨论IM技术,也欢迎你们多多关注网易云信。高并发
另外,想要获取更多产品干货、技术干货,记得关注网易云信博客哦~
工具