深圳数字货币交易系统开发公司13826557202


币币交易系统开发

网站首页 > 新闻资讯 > 业界资讯

全球化的IM即时通讯系统开发,用户量大,并发访问高,这样的系统如何架构?

2018-06-06 14:59:59 币币交易系统开发 阅读

 全球化的IM即时通讯系统开发,用户量大,并发访问高,这样的系统如何架构?


全球化的IM即时通讯系统开发138-2655-7202www.ykmcq.com


区块链发展至今,很多行业都在向区块链技术靠拢,大家都在考虑如何让自己的产业结合区块链,迸发出新的生机和新的生产力?在众多的互联网产品中,币圈一直缺少一款解决全球化的具体时效性的产品,那就是全球化的IM即时通讯系统开发,他需要打通整个地域之前的跨越,也需要做更大的信息化数据化处理。把所有不能打通不能整合的东西,都整合到一个软件上面,满足用户的需求,这就是我们要做的事情。


一、 全球IM即时通讯系统开发的基本要求


    1 首先即时性要好,在海量用户高并发访问时,减少用户消息到达的延迟,要求服务端计算要快;


    2 高可用性和可靠性,在拥有如此海量用户的系统,势必采用集群化部署,机器故障发生率高,在机器发生故障时,要求仍可以正常提供服务;


    3 伸缩性好,在增加机器时,系统服务能力能得到线性增长;


    4 扩展性强,在增加功能需求或变动功能时,不会引起系统架构大的调整;


    5 安全性好,可以防止第三方冒名登录。


二、 机器全球化部署


    为了缩短客户端到服务端的通信距离,宜将服务器全球化部署,不如效仿谷歌云将计算中心部署在全球6个数据中心:亚洲东部、亚洲东北部、欧洲西部、美国中部、美国东部和美国西部。每个计算中心为所在区域的用户提供服务,所有的数据中心通过光纤连接,提供局域网的服务。


三、基本架构


    全球化IM即时通讯系统开发架构包括几个部分:入口层、连接层、消息队列、协议层、微服务层。


    1 入口层:客户端连接服务端时,首先连接入口层,入口层提供两类服务:(1) 首先判断客户端IP是否在黑名单中,若是则拒绝为其提供入口;(2)然后根据IP所属区域为其提供所属区域的计算中心的连接层地址。


    2 连接层:全球6个计算中心分别部署一个连接层集群,集群中机器数量取决于用户的连接数量,每个集群分别提供负载均衡;连接层业务代码简单,写好之后,一般不改动;连接层主要的任务就是与客户端保持TCP长连接,把客户端发送的数据包向后转发;这样设计的目的是为了在后端业务升级变动时,对用户透明化。


    3 消息队列:消息队列在连接层的后面,暂时存放连接层接收到的数据包;消息队列的作用有两个:(1)应对访问高峰,防止对后端业务造成过高的负载;(2)实现异步方式,使连接层与后端业务解藕。


    4 协议层: 前端连接层基于TCP实现简单的数据包收发,该层结合业务实现自定义的应用层协议,将协议从业务代码中分离出来单独作为一个层实现,便于维护和性能调优,可以在很大程度上提高系统的可扩展性;该全球化的IM即时通讯系统开发客户端除了PC还包括大量的移动设备,移动端在弱网络环境中;为了使消息能在弱网络环境中正常传输,必须设计可靠、高效、低带宽的协议,可靠是指消息可达、不丢包,高效是指弱网络环境下消息快速收发,低带宽是为了节省用户移动设备的流量。该全球IM即时通讯系统开发采用基于版本号的消息传输协议。


    5 微服务层:微服务层以微服务的形式实现业务代码,与协议层通过RPC的方式进行调用。


四 IM即时通讯系统开发总结


    1 所有层次的机器都是集群化部署,除了提高处理能力外,最重要的是为了容错处理,提高可靠性;


    2 IM即时通讯系统开发通讯协议是重点,一个好的通讯协议可以简化系统设计,提高消息传输效率,节省资源;


    3 对于高并发的系统,推荐采用多种技术语言实现,与单一C++语言相比, 可以极大降低开发者的心智负担。


Powered by MetInfo 5.3.14 ©2008-2018 www.metinfo.cn