福州软件开发有限公司是一家专业从事软件开发、软件定制、App开发的软件公司。 新闻| 联系我们 咨询热线>>  135-1408-4304 手机端
分布式网站消息通道服务的设计_福州软件开发定制公司


分布式消息通道广泛应用在很多公司,尤其是在移动App和服务端需要上传、推送大量的数据和消息时。比如打车App每天要上传大量的位置信息,服务端也有很多订单要及时推送给司机;此外,由于司机是在高速移动过程中,所以网络连接的稳定性也不是很好这类场景给消息通道的高可用设计带来很大的挑战。


 
一个典型的移动Ap的消息通道的设计架构图,这种设计比较适合上传数据量大,并且高速移动导致网络不太稳定的链路。
 
链路1是 Client和整个服务端的长连接链路,一般采用私有协议的TCP请求。如果是第一次请求还会通过2做链接认证,认证通过后会把该 Client和接入集群的某个服务器做个KV对,并记录到路由表里这可以方便下发消息时找到该链接。经过链路4,上行消息处理集群会将TCP请求转成普通的HTTP请求,再调用后端业务执行具体的业务逻辑,或者只是上传一个数据而已,不做任何响应。如果业务有数据需要下发,会经过链路6,把消息推送到消息下发处理集群,由它把消息推送给 Client。
 
消息下发集群公査向链接路表,确足当前Cent的链按在言,再通该服务器把消息推送下去。这里常见的问题是当前 Client的网络不可达,导致消息无法推送。在这种情况下,消息下发处理集群会保持该消息,并定时尝试再推送;如果Client重新建立连接,连接的服务器也会随之变化,那么消息下发集群会去查询链接路由表再重新连接新的KV对。
 
链路9是为了处理 Client端的一些同步请求而设计的。例如 Client需要发送一个HTTP请求并且期望能返回结果,这时Client中的业务层可能直接请求HTTP,再经过 Client I中的网络模块转成私有TCP协议,在上行长链请求集群转成HTP请求,调用后端业务并将HTTP的response转成消息发送到消息下发处理集群,异步下发给Client,到达Client再转成业务的HTTPresponse。这种设计的主要考虑是当HTTP响应返回时,如果长链已经断掉,该响应就没法再推送回去。因此,这种上行同步请求而下行异步推送是一种更高可用的设计。
 
从整体架构上看,只有接入集群是有状态的,其他集群都是无状态的,这也保证了软件设计集群的扩展性。如果接入点在全国有多个点,并且这些点与服务端有专线网络服务,接人集群还可以做到就近接入。



相关文章
行业动态延伸图片素材网站中的版权交易路径_福州软件开发定制公司
数据库的物理结构设计_福州软件开发定制公司
交换式Hub就是 Switch_福州软件开发定制公司
搜索引擎惩罚的检测_福州软件开发定制公司
新闻动态渴望个性化_福州软件开发定制公司
教你零基础学习软件开发_福州软件开发定制公司
备份/恢复配置数据_福州软件开发定制公司
网站安全信息加密技术_福州软件开发定制公司
需求弥散:市场变平了_福州软件开发定制公司
网站设计中同步调用,还是异步调用?_福州软件开发定制公司
动态网页的CGI实现技术_福州软件开发定制公司
持续微创新,不走寻常路_福州软件开发定制公司
大型软件开发与上下游部门的协作关系_福州软件开发定制公司
获取远程数据库_福州软件开发定制公司
做竞品筛选,明确真正的竞争对手_福州软件开发定制公司
B2B网站发展存在的问题_福州软件开发定制公司
在开发新网站前如何做成本收益分析?_福州软件开发定制公司
SEO作弊之PR劫持(PR Hijacking)_福州软件开发定制公司
万维网在网站中的服务_福州软件开发定制公司
不要过度设计你的网站_福州软件开发定制公司


福州软件开发定制公司专注于福州软件定制、福州外包、福州软件开发、管理软件/管理系统开发、微信开发、小程序开发          公司地址:福建省福州市仓山区浦上大道仓山万达广场C3#16F  联系电话:135-1408-4304

ONLINE SERVICES

咨询电话
135-1408-4304
在线客服
QQ咨询
QQ咨询
QQ咨询
服务时间
9:00 - 24:00