一种通信方法、系统和装置制造方法及图纸

技术编号:19266598 阅读:34 留言:0更新日期:2018-10-27 04:08
本申请公开一种通信系统,该系统至少包括第一数据中心和第二数据中心,第一数据中心包括第一消息代理,第一路由代理,业务服务器和存储服务器,业务服务器上运行应用,存储服务器用于保存业务服务器上的应用发送的消息。第一消息代理,用于接收业务服务器上运行应用发送的第一消息;当确定第一消息属于第二数据中心处理的消息时,在第一消息中添加路由信息生成第二消息,将第二消息存储至存储服务器的公共区域,公共区域用于存储属于第二数据中心处理的消息;第一路由代理,用于从公共区域获得第二消息;根据路由信息将第二消息发送至第二数据中心。由此解决应用路由选择处理过程复杂的问题。

【技术实现步骤摘要】
一种通信方法、系统和装置
本申请涉及通信领域,尤其涉及一种通信方法、系统和装置。
技术介绍
消息队列技术在应用系统通信、消息集成、异步解耦、削峰填谷等场景下广泛应用。从最早利用单台存储服务器存储消息,到现在利用多台存储服务器组成的分布式消息队列集群(以下简称集群)存储消息,利用集群能力,大大地提高了消息的可靠性、稳定性及服务能力。通过集群,应用系统(以下简称应用)之间无需直接建立通信链路,而是以集群为中介,需要相互通信的不同应用各自链接到相同的集群,应用可以作为消费的发布者(producer),向集群的消息队列发送消息。应用也可以作为消费者(consumer),通过监测队列中是否存在新增消息,获取队列里面的消息并处理该消息。通过这样的发布、监测模式,实现了应用之间的解耦及异步通信。上述的不同应用间通信是依赖一个相同的集群作为中介,在实际的业务场景下,随着业务需求的复杂化,用于应用间通信的集群已由单个演变为多个。例如多个数据中心、多个云服务供应商、多个业务集群之间等都需要多个集群共同用于应用间通信。如果部署在不同的数据中心或者不同业务集群之间的应用需要相互发送、接收消息,需要选定其中一个集群做中介进行通信,此时,需要“入侵”应用代码,将远程路由信息配置在应用中。另一方面,应用也逐渐发展为分布式部署的情况。例如,同一个应用分别部署在不同的数据中心或不同的公有云环境或者不同的业务集群。在上述场景中,如果不同应用选定了一个集群作为中介,也必然带来应用之间通信跨数据中心或跨业务集群等远程访问集群的性能问题。而且应用需要同时链接到多个集群,也会给应用带来路由选择处理复杂问题。因此,如何解决应用路由选择处理过程复杂的问题成为亟待解决的问题。
技术实现思路
本申请提供了一种通信方法、系统和装置,可以解决传统的技术方案中应用路由选择处理过程复杂的问题。第一方面,提供一种通信系统,该通信系统至少包括第一数据中心和第二数据中心,第一数据中心包括第一消息代理,第一路由代理,业务服务器和至少一个存储服务器,业务服务器上运行有应用,存储服务器用于存储应用发送的消息。第一消息代理,用于接收第一应用的第一消息。当确定第一消息属于第二数据中心处理时,在第一消息中添加路由信息生成第二消息,将第二消息存储至存储服务器的公共区域。其中,存储服务器包括私有区域和公共区域,私有区域用于存储属于第一数据中心处理的消息,公共区域用于存储属于第二数据中心处理的消息。第一路由代理,则用于从上述公共区域获取第二消息,根据路由信息将第二消息发送至第二数据中心。通过上述通信系统的描述,由第一消息代理接收应用发送的消息,将需要其他数据中心处理的消息中添加路由信息并存储至存储服务器的公共区域,由第一路由代理从公共区域获取添加路由信息后的消息,并发送至其他数据中心,进而完成应用间通信。本技术方案中应用的路由选择过程由消息代理和路由代理完成,应用不需要记录作为通信中介的消息队列集群信息,直接将消息发送给同一数据中心中的消息代理,由消息代理确认路由信息,并且由路由代理转发至远端数据中心,避免了应用确定路由的复杂过程。解决了传统的技术方案中应用路由选择处理复杂的问题,提升了应用间通信的效率,减少了应用间通信的时间。另一方面,本申请中由消息代理和路由代理完成应用消息的路由信息确认过程,无需应用参与,也不需要在应用中添加配置信息,避免了对应用代码“入侵”,提高了应用安全性。在一种可能的实现方式中,存储服务器的公共存储区域包括第一消息队列,私有区域包括第二消息队列,则第一消息代理将第二消息存储至存储服务器的公共区域,具体为将第二消息存储至第二消息队列。当目标消息队列集群为远端消息队列集群时,利用公共区域存储待处理消息,再由路由代理将该消息发送至其他数据中心的目标消息队列集群,实现了本地消息队列集群发、本地消息队列集群收、消费者决定路由的通信过程,解决了传统的技术方案中应用路由选择处理复杂的问题,提升了应用间通信的效率,减少了应用通信的时间。在另一种可能的实现方式中,第一消息代理还用于在第一消息中添加路由信息生成第二消息之前,根据配置信息确定路由信息,所述配置信息包括不同数据中心中消息队列的标识、发送所述第一消息的所述应用的标识和处理所述第二消息的应用的标识的对应关系。路由信息可以由第一消息代理根据配置信息确定,无需应用获取该配置信息。当第一消息代理接收到应用发送的消息时,根据该配置信息即可确定路由信息。在另一种可能的实现方式中,通信系统还包括配置中心;该配置中心,用于存储配置信息。第一消息代理,还用于在接收业务服务器上运行的应用发送的第一消息之前,向配置中心获取所述配置信息。第一路由代理,还用于在从公共区域中获得所述第二消息之前,向配置中心获取配置信息。可选地,配置信息也可以由第三方服务器记录和维护,相应地,第一消息代理和第一路由代理在接收业务服务器上应用发送的消息之前,先向第三方服务器获取配置信息。可选地,配置信息还可以由数据中心中任意一个服务器记录和维护,相应地,第一消息代理和第一路由代理在接收业务服务器上应用发送的消息之前,先向该服务器获取配置信息。配置中心主要用于记录和维护配置信息,第一消息代理可以从配置中心获取该配置信息,当接收到应用发送的消息时,可以根据配置信息确定路由信息,快速确定该消息的路由信息,不需要应用参与确定路由的过程。并且,当配置信息发生变化时,第一消息代理和第一路由代理可以在接收应用发送的消息前更新本地存储的配置信息,保证路由信息准确性,进而提升消息处理效率。在另一种可能的实现方式中,第二数据中心中包括管理服务器,管理服务器用于管理第二数据中心中存储服务器,路由信息中包括管理服务器的互联协议IP地址,则第一路由代理根据路由信息将第二消息发送至第二数据中心,具体为根据管理服务器的IP地址将第二消息发送至管理服务器,以便于管理服务器将第二消息存储至第二数据中心中存储服务器。消息代理确定的路由信息中可以包括第二数据中心中管理服务器的IP地址,路由代理可以依据该IP地址将消息发送至第二数据中心,进而由第二数据中心完成该消息的处理过程。第二方面,本申请提供一种通信方法,该方法应用于通信系统,该通信系统至少包括第一数据中心和第二数据中心,第一数据中心包括第一服务器,第一消息代理,第一路由代理,业务服务器和存储服务器,业务服务器上运行有应用,存储服务器用于保存业务服务器上的应用发送的消息。该方法包括:第一服务器接收业务服务器上运行的应用发送的第一消息;当确定所述第一消息属于第二数据中心处理时,在第一消息中添加路由信息生成第二消息,将第二消息存储至存储服务器的公共区域,其中,存储服务器包括私有区域和所述公共区域,私有区域用于存储属于第一数据中心处理的消息,公共区域用于存储属于第二数据中心处理的消息;从公共区域中获得第二消息,并根据路由信息将第二消息发送至第二数据中心。在一种可能的实现方式中,存储服务器的公共存储区域包括第一消息队列,私有区域包括第二消息队列,则第一服务器将第二消息存储至存储服务器的公共区域,包括:将第二消息存储至第二消息队列。在另一种可能的实现方式中,第一服务器确定第一消息代理属于第二数据中心处理,包括:在第一消息中添加路由信息生成第二消息本文档来自技高网
...

【技术保护点】
1.一种通信系统,其特征在于,所述通信系统至少包括第一数据中心和第二数据中心,所述第一数据中心包括第一消息代理,第一路由代理,业务服务器和存储服务器,所述业务服务器上运行有应用,所述存储服务器用于保存所述业务服务器上的应用发送的消息;所述第一消息代理,用于接收所述业务服务器上运行的应用发送的第一消息;当确定所述第一消息属于所述第二数据中心处理的消息时,在所述第一消息中添加路由信息生成第二消息,将所述第二消息存储至所述存储服务器的公共区域,其中,所述存储服务器包括私有区域和所述公共区域,所述私有区域用于存储属于所述第一数据中心处理的消息,所述公共区域用于存储属于所述第二数据中心处理的消息;所述第一路由代理,用于从所述公共区域中获得所述第二消息;根据所述路由信息将所述第二消息发送至所述第二数据中心。

【技术特征摘要】
1.一种通信系统,其特征在于,所述通信系统至少包括第一数据中心和第二数据中心,所述第一数据中心包括第一消息代理,第一路由代理,业务服务器和存储服务器,所述业务服务器上运行有应用,所述存储服务器用于保存所述业务服务器上的应用发送的消息;所述第一消息代理,用于接收所述业务服务器上运行的应用发送的第一消息;当确定所述第一消息属于所述第二数据中心处理的消息时,在所述第一消息中添加路由信息生成第二消息,将所述第二消息存储至所述存储服务器的公共区域,其中,所述存储服务器包括私有区域和所述公共区域,所述私有区域用于存储属于所述第一数据中心处理的消息,所述公共区域用于存储属于所述第二数据中心处理的消息;所述第一路由代理,用于从所述公共区域中获得所述第二消息;根据所述路由信息将所述第二消息发送至所述第二数据中心。2.根据权利要求1所述系统,其特征在于,所述存储服务器的所述公共区域包括第一消息队列,所述私有区域包括第二消息队列,所述第一消息代理将所述第二消息存储至存储服务器的公共区域,包括:将所述第二消息存储至所述第二消息队列中。3.根据权利要求1或2所述系统,其特征在于,所述第一消息代理,还用于在所述第一消息中添加路由信息生成第二消息之前,根据配置信息确定所述路由信息,所述配置信息包括不同数据中心中消息队列的标识、发送所述第一消息的所述应用的标识和处理所述第二消息的应用的标识的对应关系。4.根据权利要求1至3中任一所述系统,其特征在于,所述通信系统还包括配置中心;所述配置中心,用于存储所述配置信息;所述第一消息代理,还用于在接收所述业务服务器上运行的应用发送的第一消息之前,向所述配置中心获取所述配置信息;所述第一路由代理,还用于在从所述公共区域中获得所述第二消息之前,向所述配置中心获取所述配置信息。5.根据权利要求1至4中任一所述系统,其特征在于,所述第二数据中心中包括管理服务器,所述管理服务器用于管理所述第二数据中心中存储服务器,所述路由信息中包括管理服务器的互联协议IP地址,则所述第一路由代理根据所述路由信息将所述第二消息发送至所述第二数据中心,包括:根据所述管理服务器的IP地址将所述第二消息发送至所述管理服务器,以便于所述管理服务器将所述第二消息存储至所述第二数据中心中的存储服务器。6.一种通信方法,其特征在于,所述方法应用于通信系统,所述通信系统至少包括第一数据中心和第二数据中心,所述第一数据中心包括第一服务器,第一消息代理,第一路由代理,业务服务器和存储服务器,所述业务服务器上运行有应用,所述存储服务器用于保存业务服务器上的应用发送的消息;所述第一服务器接收所述业务服务器上运行的应用发送的第一消息;当所述第一服务器确定所述第一消息属于所述第二数据中心处理时,所述第一服务器在所述第一消息中添加路由信息生成第二消息,将所述第二消息存储至所述存储服务器的公共区域,所述存储服务器包括私有区域和所述公共区域,其中,所述私有区域用于存储属于所述第一数据中心处理的消息,所述公共区域用于存储属于所述第二数据中心处理的消息;所述第一服务器从所述公共区域中获得所述第二消息,并根据所述路由信息将所述第二消息发送至所述第二数据中心。7.根据权利要求6所述方法,其特征在于,所述存储服务器的所述公共区域包括第一消息队列,所述私有区域包括第二消息队列,所述第一服务器将所述第二消息存储至存储服务器的公共区域,包括:将所述第二消息存储至所述第二消息队列。8.根据权利要求6或7...

【专利技术属性】
技术研发人员:陆昕陈劲胡昌红
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:广东,44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1