消息的发送方法、装置、电子设备及计算机可读介质制造方法及图纸

技术编号:23898064 阅读:39 留言:0更新日期:2020-04-22 09:28
本公开涉及一种消息的发送方法、装置、电子设备及计算机可读介质,属于通信技术领域。该方法包括:响应于至少一消息的发送信号,确定接收所述消息的目标服务器,并获取发送所述消息的当前服务器和所述目标服务器的区域标识;根据所述当前服务器的区域标识和所述目标服务器的区域标识,在包括多个用于转发消息的消息中间件的中间件集群中确定一个消息中间件;将所述消息发送至所述消息中间件,并通过所述消息中间件将所述消息转发至所述目标服务器。本公开通过使当前服务器根据标识选择最佳的消息中间件转发消息,可以使消息自适应选择最佳的转发路径,缩减服务器集群之间通信的高延迟和高带宽成本。

【技术实现步骤摘要】
消息的发送方法、装置、电子设备及计算机可读介质
本公开涉及通信
,具体而言,涉及一种消息的发送方法、消息的发送装置、电子设备及计算机可读介质。
技术介绍
在物联网、电商后台、游戏服务端等各种系统中,经常需要根据服务器之间的及时通信来保证系统的正常运行。然而,当各个服务器之间存在远距离异地部署的情况时,距离较远的服务器之间发送消息会存在不可避免的延迟和较高的宽带成本等问题。因此,需要一种新的消息的发送方法,解决上述服务器之间的通信存在的问题。需要说明的是,在上述
技术介绍
部分公开的信息仅用于加强对本公开的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。
技术实现思路
本公开的目的在于提供一种消息的发送方法、消息的发送装置、电子设备及计算机可读介质,进而至少在一定程度上克服由于现有消息的发送方法的限制而导致的部分服务器集群之间的通信存在高延迟和高带宽成本等问题。根据本公开的第一个方面,提供一种消息的发送方法,包括:响应于至少一消息的发送信号,确定接收所述消息的目标服务器;获取发送所述消息的当前服务器和所述目标服务器的区域标识;根据所述当前服务器的区域标识和所述目标服务器的区域标识,在包括多个用于转发消息的消息中间件的中间件集群中确定一个消息中间件;将所述消息发送至所述消息中间件,并通过所述消息中间件将所述消息转发至所述目标服务器。在本公开的一种示例性实施例中,所述根据所述当前服务器的区域器标识和所述目标服务器的区域标识,在包括多个用于转发消息的消息中间件的中间件集群中确定一个消息中间件,包括:判断所述当前服务器的区域标识与所述目标服务器的区域标识是否一致;若所述当前服务器的区域标识与所述目标服务器的区域标识一致,则在用于转发当前服务器所在区域内的消息的区域内中间件集群中确定一个消息中间件;若所述当前服务器的区域标识与所述目标服务器的区域标识不一致,则在用于转发各个区域内服务器消息的区域间中间件集群中确定一个消息中间件。在本公开的一种示例性实施例中,所述确定接收所述消息的目标服务器之后,还包括:判断所述当前服务器上是否有预先设置的用于指定中间件集群的控制标识;若所述当前服务器上有预先设置的所述控制标识,则在所述控制标识指定的中间件集群中确定一个消息中间件;若所述当前服务器上没有预先设置的所述控制标识,则执行下一步骤。在本公开的一种示例性实施例中,所述方法还包括:在所述服务器的服务器ID上配置一所述区域标识相应的字段。在本公开的一种示例性实施例中,所述将所述消息发送至所述消息中间件,并通过所述消息中间件将所述消息转发至所述目标服务器,包括:将所述消息和所述目标服务器的服务器ID发送至所述消息中间件,并根据所述目标服务器的服务器ID确定所述消息中间件上的转发指针;根据所述转发指针将所述消息通过所述消息中间件转发至所述目标服务器。在本公开的一种示例性实施例中,所述在用于转发当前服务器所在区域内的消息的区域内中间件集群中确定一个消息中间件,包括:获取所述区域内中间件集群中各个区域内中间件的消息队列,并判断是否有消息队列为空闲状态的区域内中间件;若有消息队列为空闲状态的区域内中间件,则在所述消息队列为空闲状态的区域内中间件中确定一个消息中间件;若没有消息队列为空闲状态的区域内中间件,则将消息队列最短的区域内中间件确定为消息中间件。在本公开的一种示例性实施例中,所述在用于转发各个区域内服务器消息的区域间中间件集群中确定一个消息中间件,包括:获取所述区域间中间件集群中各个区域间中间件的消息队列,并判断是否有消息队列为空闲状态的区域间中间件;若有消息队列为空闲状态的区域间中间件,则在所述消息队列为空闲状态的区域间中间件中确定一个消息中间件;若没有消息队列为空闲状态的区域间中间件,则将消息队列最短的区域间中间件确定为消息中间件。根据本公开的第二方面,提供一种消息的发送装置,包括:目标服务器确定模块,用于响应于至少一消息的发送信号,确定接收所述消息的目标服务器;服务器标识获取模块,用于获取发送所述消息的当前服务器和所述目标服务器的区域标识;消息中间件确定模块,用于根据所述当前服务器的区域标识和所述目标服务器的区域标识,在包括多个用于转发消息的消息中间件的中间件集群中确定一个消息中间件;服务器消息发送模块,用于将所述消息发送至所述消息中间件,并通过所述消息中间件将所述消息转发至所述目标服务器。根据本公开的第三方面,提供一种电子设备,包括:处理器;以及存储器,用于存储所述处理器的可执行指令;其中,所述处理器配置为经由执行所述可执行指令来执行上述任意一项所述的消息的发送方法。根据本公开的第四方面,提供一种计算机可读介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任意一项所述的消息的发送方法。本公开示例性实施例可以具有以下有益效果:本公开示例实施方式的消息的发送方法中,通过使当前服务器根据自身标识以及目标服务器的标识,选择最佳的消息中间件进行消息的转发,从而达到通信的目的。通过实现基于标识的中间件转发方案,可以使消息自适应选择最佳的转发路径,缩减了异地部署的服务器集群之间跨集群通信的高延迟和高带宽成本,同时,也避免了所有区域的服务器集群之间的消息都经过同一个消息中间件转发,便于进行流量控制和计费审计。应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。附图说明此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1示出了本公开示例实施方式的消息的发送方法的流程示意图;图2示出了本公开示例实施方式的确定消息中间件的流程示意图;图3示出了本公开示例实施方式的服务器和消息中间件的标记部署方案的示意图;图4示出了本公开另一示例实施方式的确定消息中间件的流程示意图;图5示出了本公开示例实施方式的通过消息中间件转发消息的流程示意图;图6示出了本公开示例实施方式的确定区域内消息中间件的流程示意图;图7示出了本公开示例实施方式的确定区域间消息中间件的流程示意图;图8示出了根据本公开的一个具体实施例中消息的发送方法的流程示意图;图9示出了本公开示例实施方式的消息的发送装置的框图;图10示出了适于用来实现本公开实施例的电子设备的计算机系统的结构示意图。具体实施方式现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这本文档来自技高网...

【技术保护点】
1.一种消息的发送方法,其特征在于,包括:/n响应于至少一消息的发送信号,确定接收所述消息的目标服务器;/n获取发送所述消息的当前服务器和所述目标服务器的区域标识;/n根据所述当前服务器的区域标识和所述目标服务器的区域标识,在包括多个用于转发消息的消息中间件的中间件集群中确定一个消息中间件;/n将所述消息发送至所述消息中间件,并通过所述消息中间件将所述消息转发至所述目标服务器。/n

【技术特征摘要】
1.一种消息的发送方法,其特征在于,包括:
响应于至少一消息的发送信号,确定接收所述消息的目标服务器;
获取发送所述消息的当前服务器和所述目标服务器的区域标识;
根据所述当前服务器的区域标识和所述目标服务器的区域标识,在包括多个用于转发消息的消息中间件的中间件集群中确定一个消息中间件;
将所述消息发送至所述消息中间件,并通过所述消息中间件将所述消息转发至所述目标服务器。


2.根据权利要求1所述的消息的发送方法,其特征在于,所述根据所述当前服务器的区域器标识和所述目标服务器的区域标识,在包括多个用于转发消息的消息中间件的中间件集群中确定一个消息中间件,包括:
判断所述当前服务器的区域标识与所述目标服务器的区域标识是否一致;
若所述当前服务器的区域标识与所述目标服务器的区域标识一致,则在用于转发当前服务器所在区域内的消息的区域内中间件集群中确定一个消息中间件;
若所述当前服务器的区域标识与所述目标服务器的区域标识不一致,则在用于转发各个区域内服务器消息的区域间中间件集群中确定一个消息中间件。


3.根据权利要求1所述的消息的发送方法,其特征在于,所述确定接收所述消息的目标服务器之后,还包括:
判断所述当前服务器上是否有预先设置的用于指定中间件集群的控制标识;
若所述当前服务器上有预先设置的所述控制标识,则在所述控制标识指定的中间件集群中确定一个消息中间件;
若所述当前服务器上没有预先设置的所述控制标识,则执行下一步骤。


4.根据权利要求1所述的消息的发送方法,其特征在于,所述方法还包括:在所述服务器的服务器ID上配置一所述区域标识相应的字段。


5.根据权利要求4所述的消息的发送方法,其特征在于,所述将所述消息发送至所述消息中间件,并通过所述消息中间件将所述消息转发至所述目标服务器,包括:
将所述消息和所述目标服务器的服务器ID发送至所述消息中间件,并根据所述目标服务器的服务器ID确定所述消息中间件上的转发指针;
根据所述转发指针将所述消息通过所述消息中间件转发至所述目标服务器...

【专利技术属性】
技术研发人员:陈志旭
申请(专利权)人:网易杭州网络有限公司
类型:发明
国别省市:浙江;33

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

1