本申请公开了一种跨机房通讯的方法和系统,其中跨机房通讯的方法包括:第一客户端产生一条消息;判断消息是否需跨区域传送,若是,则将消息经第一服务器传送至第一机房的推送服务器;第一机房的推送服务器将消息推送到中心机房;中心机房根据消息的发送目标地确定第二机房,并将消息转至第二机房的推送服务器;第二机房的推送服务器将消息推送到第二服务器,然后通知第二客户端,其中,第一机房与第二机房是不同区域的机房。通过本发明专利技术,首先判断消息是否跨区域传送,来区分开跨区域和非跨区域消息的传送途径,从而提高跨区域通信的效率及可靠性。
【技术实现步骤摘要】
本申请涉及计算机服务器
,具体地说,涉及一种跨机房通讯的方法和系统。
技术介绍
为了快速的为用户服务,服务器的布署也会考虑地理位置,在一些大的城市布署服务器入口也尤为重要,这样就会面临不同的城市会有不同的服务器集群用来服务用户。当服务器在不同城市布署以后,就需要考虑跨机房的服务器通讯。目前不同的架构有不同的解决方案,类似的方案一般是设置代理服务器来模拟跨机房布署,本质上还是导流量的方式。当前有一些低延时的消息传递机制,如说kafak,但他传递消息不是实时的,另外还有一些NoSQL数据库提供的消息队列功能,也能模拟,但是在配置的时候需要开放数据库的权限,在跨机房操作数据库会有安全相关的隐患。现在相对于整个技术架构来说,最大的困难在于跨区域通信的效率以及可靠性方面,还有问题尚待解决,需要持续的优化。
技术实现思路
有鉴于此,本申请所要解决的技术问题是提供了一种跨机房通讯的方法和系统,解决应用程序跨区域步署以及不同机房间的数据实时更新同步等问题。为了解决上述技术问题,本申请有如下技术方案:一种跨机房通讯的方法,其特征在于,包括:第一客户端产生一条消息;判断所述消息是否需跨区域传送,若是,则将所述消息经第一服务器传送至第一机房的推送服务器;所述第一机房的推送服务器将所述消息推送到中心机房;所述中心机房根据所述消息的发送目标地确定第二机房,并将消息转至所述第二机房的推送服务器;所述第二机房的推送服务器将消息推送到第二服务器,然后通知第二客户端,其中,所述第一客户端、第一服务器、第一机房的推送服务器与第一机房对应,所述第二客户端、第二服务器、第二机房的推送服务器与第二机房对应,所述第一机房与第二机房是不同区域的机房。一种跨机房通讯的系统,其特征在于,包括第一机房、第二机房、中心机房、第一服务器、第二服务器、第一客户端、第二客户端,其中:所述第一机房,与所述第一服务器和所述中心机房耦接,包括推送服务器,用于在所述第一服务器和所述中心机房间传送消息;所述第二机房,与所述第二服务器和所述中心机房耦接,包括推送服务器,用于在所述第二服务器和所述中心机房间传送消息;所述中心机房,与所述第一机房和所述第二机房耦接,包括推送服务器,根据所述消息的发送目标地确定所述第二机房,然后在所述第一机房和所述第二机房间传送消息,当所述消息是跨区域传送时,将所述消息经所述第一机房的推送服务器传送后,经所述中心机房后传送至所述第二机房的推送服务器;所述第一服务器,与所述第一机房和所述第一客户端耦接,用于在所述第一机房和所述第一客户端间传送消息;所述第二服务器,与所述第二机房和所述第二客户端耦接,用于在所述第二机房和所述第二客户端间传送消息;所述第一客户端,与所述第一服务器耦接,用于从所述第一服务器接收消息或向所述第一服务器传送消息;所述第二客户端,与所述第二服务器耦接,用于从所述第二服务器接收消息或向所述第二服务器传送消息;其中,所述第一客户端、第一服务器、第一机房的推送服务器与第一机房对应,所述第二客户端、第二服务器、第二机房的推送服务器与第二机房对应,所述第一机房与第二机房是不同区域的机房。与现有技术相比,本申请所述的方法和系统,达到了如下效果:通过本专利技术的技术方案,首先判断消息是否跨区域传送,来区分开跨区域和非跨区域消息的传送途径,从而提高跨区域通信的效率及可靠性。附图说明此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:图1为本专利技术的所述一种跨机房通讯的方法的流程图;图2为本专利技术的所述一种跨机房通讯系统的实施例图。具体实施方式如在说明书及权利要求当中使用了某些词汇来指称特定组件。本领域技术人员应可理解,硬件制造商可能会用不同名词来称呼同一个组件。本说明书及权利要求并不以名称的差异来作为区分组件的方式,而是以组件在功能上的差异来作为区分的准则。如在通篇说明书及权利要求当中所提及的“包含”为一开放式用语,故应解释成“包含但不限定于”。“大致”是指在可接收的误差范围内,本领域技术人员能够在一定误差范围内解决所述技术问题,基本达到所述技术效果。此外,“耦接”一词在此包含任何直接及间接的电性耦接手段。因此,若文中描述一第一装置耦接于一第二装置,则代表所述第一装置可直接电性耦接于所述第二装置,或通过其他装置或耦接手段间接地电性耦接至所述第二装置。说明书后续描述为实施本申请的较佳实施方式,然所述描述乃以说明本申请的一般原则为目的,并非用以限定本申请的范围。本申请的保护范围当视所附权利要求所界定者为准。为方便对本专利技术作更清楚的说明,现对其中的术语作如下解释:ZooKeeper集群是一个分布式的,开放源码的分布式应用程序协调服务,提供的功能包括:配置维护、名字服务、分布式同步、组服务等。ZooKeeper集群的目标就是封装好复杂易出错的关键服务,将简单易用的接口和性能高效、功能稳定的系统提供给用户。套接长连接(简称Socket长连接),即客户端和服务器端建立Socket连接,该连接在使用完毕以后,并不马上关闭,而是保持此连接,如果下一次需要和服务器进行通讯,就立即启用该连接进行数据的通讯。实施例1参见图1所示为本申请所述跨机房通讯方法的具体实施例,本实施例中所述方法包括以下步骤:步骤101:第一客户端产生一条消息;步骤102:判断所述消息是否需跨区域传送,若是,则转至步骤103;若否,则转至步骤107;步骤103:将所述消息经第一服务器传送至第一机房的推送服务器;步骤104:所述第一机房的推送服务器将所述消息推送到中心机房;步骤105:所述中心机房根据所述消息的发送目标地确定第二机房,并将消息转至第二机房的推送服务器;步骤106:所述第二机房的推送服务器将消息推送到第二服务器,然后通知第二客户端,步骤107:将所述消息经所述第一服务器发送给所述第一机房的推送服务器;步骤108:通过所述第一机房的推送服务器将所述消息推送到第一服务器;步骤109:由所述第一服务器通知相应客户端。其中,所述第一客户端、第一服务器、第一机房的推送服务器与第一机房对应,所述第二客户端、第二服务器、第二机房的推送服务器与第二机房对应,所述第一机房与第二机房是不同区域的机房。其中,所述第一机房、所述第二机房本文档来自技高网...
【技术保护点】
一种跨机房通讯的方法,其特征在于,包括:第一客户端产生一条消息;判断所述消息是否需跨区域传送,若是,则将所述消息经第一服务器传送至第一机房的推送服务器;所述第一机房的推送服务器将所述消息推送到中心机房;所述中心机房根据所述消息的发送目标地确定第二机房,并将消息转至所述第二机房的推送服务器;所述第二机房的推送服务器将消息推送到第二服务器,然后通知第二客户端,其中,所述第一客户端、第一服务器、第一机房的推送服务器与第一机房对应,所述第二客户端、第二服务器、第二机房的推送服务器与第二机房对应,所述第一机房与第二机房是不同区域的机房。
【技术特征摘要】
1.一种跨机房通讯的方法,其特征在于,包括:
第一客户端产生一条消息;
判断所述消息是否需跨区域传送,若是,则将所述消息经第一服务器传
送至第一机房的推送服务器;
所述第一机房的推送服务器将所述消息推送到中心机房;
所述中心机房根据所述消息的发送目标地确定第二机房,并将消息转至
所述第二机房的推送服务器;
所述第二机房的推送服务器将消息推送到第二服务器,然后通知第二客
户端,
其中,所述第一客户端、第一服务器、第一机房的推送服务器与第一机
房对应,所述第二客户端、第二服务器、第二机房的推送服务器与第二机房
对应,所述第一机房与第二机房是不同区域的机房。
2.根据权利要求1所述跨机房通讯的方法,其特征在于,若判断所述消
息并非跨区需传送,则将所述消息经所述第一服务器发送给所述第一机房的
推送服务器,并通过所述第一机房的推送服务器将所述消息推送到第一服务
器,再由所述第一服务器通知相应客户端。
3.根据权利要求1所述跨机房通讯的方法,其特征在于,所述第一机房、
所述第二机房均有各自的ZooKeeper集群提供服务器发现。
4.根据权利要求1所述跨机房通讯的方法,其特征在于,所述第一机房
的推送服务器以套接长连接方式连接到所述中心机房的服务器集群。
5.根据权利要求1-4任一项所述跨机房通讯的方法,其特征在于,所述
第一机房的推送服务器、所述第二机房的推送服务器和所述中心机房的推送
服务器包含多个子推送服务器。
6.一种跨机房通讯的系统,其特征在于,包括第一机房、第二机房、中
心机房、第一服务器、第二服务器、第一客户端、第二客户端,其中:
所述第一机房,与所述第一服务器和所述中心机房耦接,包括推送服务
器,用于在所述第一服务器和所述中心机房间传送消息;
所述第二机房,与所述第二服务器和所述中心机房耦接,包括推送服务
器,用于在所述第二...
【专利技术属性】
技术研发人员:陈治国,
申请(专利权)人:北京乐动卓越科技有限公司,
类型:发明
国别省市:北京;11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。