分布式系统及通信方法技术方案

技术编号:24168122 阅读:48 留言:0更新日期:2020-05-16 02:04
本公开涉及一种分布式系统及通信方法,其中,所述系统包括消息中间件以及多个微服务器;其中,第一微服务器用于,根据所述第一微服务器中的数据更新信息,生成事件消息,所述事件消息中包括事件处理信息和目的服务器的地址信息,并将所述事件消息发送至所述消息中间件;第二微服务器用于,获取所述消息中间件中的事件消息,并判断该事件消息中包括的目的服务器的地址信息与所述第二微服务器的地址信息是否一致,当该目的服务器的地址信息与所述第二微服务器的地址信息一致时,根据该事件消息中包括的事件处理信息生成本地事件。

Distributed system and communication method

【技术实现步骤摘要】
分布式系统及通信方法
本公开涉及信息
,具体地,涉及一种分布式系统及通信方法。
技术介绍
在分布式系统中,各个微服务器保持数据同步,当一个微服务器更新了数据,更新数据信息会上传至消息中间件,其他微服务器监听到该更新数据信息后,会根据该信息更新自身的微服务器中的数据。然而,在一些情况下,一些数据只有部分微服务器需要更新,其他微服务器不需要更新,如果微服务器之间的数据保持同步,则需要手动将不需要同步的数据进行删除,增加了人力负担且浪费了计算资源。
技术实现思路
本公开的目的是提供一种分布式系统及通信方法,以解决上述的技术问题。为了实现上述目的,本公开的第一方面,提供一种分布式系统,所述系统包括消息中间件以及多个微服务器;其中,第一微服务器用于,根据所述第一微服务器中的数据更新信息,生成事件消息,所述事件消息中包括事件处理信息和目的服务器的地址信息,并将所述事件消息发送至所述消息中间件;第二微服务器用于,获取所述消息中间件中的事件消息,并判断该事件消息中包括的目的服务器的地址信息与所述第二微服务器的地址信息是否一致,当所述目的服务器的地址信息与所述第二微服务器的地址信息一致时,根据该事件消息中包括的事件处理信息生成本地事件。可选地,所述第一微服务器还用于:在将所述事件消息发送至消息中间件之前,确定所述事件消息包括的所述目的服务器的地址信息与所述第一微服务器的地址信息不一致;所述第一微服务器还用于,在确定所述事件消息包括的所述目的服务器的地址信息与所述第一微服务器的地址信息一致时,根据所述事件处理信息生成本地事件。可选地,所述第一微服务器生成的所述事件消息还包括源地址信息和事件主题信息,所述源地址信息为所述第一微服务器的地址信息。可选地,所述地址信息包括所述目的服务器的IP地址信息和端口信息。可选地,所述第二微服务器还用于,在判断该事件消息包括的目的服务器的地址信息与所述第二微服务器的地址信息是否一致之前,确定该事件消息中包括的事件主题信息与所述第二微服务器的主题相匹配;所述第二服务器还用于:在确定该事件消息中包括的事件主题信息与所述第二微服务器的主题不匹配时,停止对所述事件消息的处理。可选地,所述事件消息还包括源地址信息,所述源地址信息为发布所述事件消息的微服务器的地址信息;所述第二微服务器,还用于判断所述源地址信息与所述第二微服务器的地址信息是否一致;当所述源地址信息与所述第二微服务器的地址信息一致时,停止对所述事件消息的处理。本公开的第二方面,提供一种分布式系统的通信方法,所述方法包括:所述分布式系统的第一微服务器根据所述第一微服务器中的数据更新信息,生成事件消息,所述事件消息中包括事件处理信息和目的服务器的地址信息,并将所述事件消息发送至消息中间件;所述分布式系统的第二微服务器获取消息中间件中的事件消息,并判断该事件消息中包括的目的服务器的地址信息与所述第二微服务器的地址信息是否一致,当该目的服务器的地址信息与所述第二微服务器的地址信息一致时,根据该事件消息中包括的事件处理信息生成本地事件。可选地,所述第一微服务器将所述事件消息发送至消息中间件包括:在确定所述事件消息包括的所述目的服务器的地址信息与所述第一微服务器的地址信息不一致时,将所述事件消息发送至消息中间件;所述方法还包括:所述第一微服务器在确定所述事件消息包括的所述目的服务器的地址信息与所述第一微服务器的地址信息一致时,根据所述事件处理信息生成本地事件。可选地,所述第二微服务器在判断该事件消息包括的目的服务器的地址信息与所述第二微服务器的地址信息是否一致之前,所述方法还包括:所述第二微服务器确定该事件消息中包括的事件主题信息与所述第二微服务器的主题相匹配;所述方法还包括:所述第二微服务器在确定该事件消息中包括的事件主题信息与所述第二微服务器的主题不匹配时,停止对所述事件消息的处理。可选地,所述第二微服务器在判断该事件消息包括的目的服务器的地址信息与所述第二微服务器的地址信息是否一致之前,所述方法还包括:所述第二微服务器确定该事件消息中包括的源地址信息与所述第二微服务器的地址信息一致;所述方法还包括:所述第二微服务器在确定该事件消息中包括的源地址信息与所述第二微服务器的地址信息不一致时,停止对所述事件消息的处理。通过上述技术方案,在第一微服务器的进行数据同步时,并不是将需要同步的数据直接上传至消息中间件,而是将其封装入数据更新信息,并与目的服务器的地址信息共同组成事件消息上传至消息中间件,以使第二服务器可以在获得事件消息之后,判断目的服务器的地址信息与自身的地址信息是否一致,一致时根据数据更新信息生成本地事件。这样,将消息中间件中的消息及更新数据解耦合,微服务器不是根据其他微服务器上传至消息中间件中的更新数据进行自身的数据更新,而是根据消息中间件中地址信息与自身地址信息匹配的事件消息中的数据更新信息发布用于更新数据的本地事件,优化了事件处理的逻辑,可以达到在分布式系统中将更新数据定向发布至指定微服务器的效果。本公开的其他特征和优点将在随后的具体实施方式部分予以详细说明。附图说明附图是用来提供对本公开的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本公开,但并不构成对本公开的限制。在附图中:图1是根据一示例性公开实施例示出的一种分布式系统的框图。图2是根据一示例性公开实施例示出的一种分布式系统的通信方法的流程图。图3是根据一示例性公开实施例示出的一种应用于第一微服务器的分布式系统的通信方法的流程图。图4是根据一示例性公开实施例示出的第一微服务器发布事件的流程示意图。图5是根据一示例性公开实施例示出的一种应用于第二微服务器的分布式系统的通信方法的流程图。图6是根据一示例性公开实施例示出的第二微服务器处理事件的流程示意图。图7是根据一示例性公开实施例示出的一种微服务器的框图。具体实施方式以下结合附图对本公开的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本公开,并不用于限制本公开。首先对本公开的实施场景进行说明。本公开的分布式系统可以是诸如公司系统、游戏系统等需要进行数据同步的系统,其中,不同的微服务器承担不同的功能,例如,在公司系统中,财务模块可能集成于一个微服务器中,人事模块可能集成于另一个微服务器中,而业务处理模块可能集成于其他微服务器中,在发生了数据更新时(例如人事模块中有人事变动),则其他微服务器可能需要对该更新的数据进行同步(例如财务模块需要针对人事变动进行数据更新),也可能不需要对该更新的数据进行同步(例如业务处理模块不需要对人事变动进行数据更新)。图1是根据一示例性公开实施例示出的一种分布式系统的框图。如图1所示,所述系统包括消息中间件和多个微服务器(如微服务器1、微服务器2和微服务器3),其中,每个微服务器都可以作为第一微服务器,也可以作为第二微服务器,即每个微服本文档来自技高网...

【技术保护点】
1.一种分布式系统,其特征在于,所述系统包括消息中间件以及多个微服务器;其中,/n第一微服务器用于,根据所述第一微服务器中的数据更新信息,生成事件消息,所述事件消息中包括事件处理信息和目的服务器的地址信息,并将所述事件消息发送至所述消息中间件;/n第二微服务器用于,获取所述消息中间件中的事件消息,并判断该事件消息中包括的目的服务器的地址信息与所述第二微服务器的地址信息是否一致,当所述目的服务器的地址信息与所述第二微服务器的地址信息一致时,根据该事件消息中包括的事件处理信息生成本地事件。/n

【技术特征摘要】
1.一种分布式系统,其特征在于,所述系统包括消息中间件以及多个微服务器;其中,
第一微服务器用于,根据所述第一微服务器中的数据更新信息,生成事件消息,所述事件消息中包括事件处理信息和目的服务器的地址信息,并将所述事件消息发送至所述消息中间件;
第二微服务器用于,获取所述消息中间件中的事件消息,并判断该事件消息中包括的目的服务器的地址信息与所述第二微服务器的地址信息是否一致,当所述目的服务器的地址信息与所述第二微服务器的地址信息一致时,根据该事件消息中包括的事件处理信息生成本地事件。


2.根据权利要求1所述的系统,其特征在于,所述第一微服务器还用于:在将所述事件消息发送至所述消息中间件之前,确定所述事件消息包括的所述目的服务器的地址信息与所述第一微服务器的地址信息不一致;
所述第一微服务器还用于,在确定所述事件消息包括的所述目的服务器的地址信息与所述第一微服务器的地址信息一致时,根据所述事件处理信息生成本地事件。


3.根据权利要求1所述的系统,其特征在于,所述第一微服务器生成的所述事件消息还包括源地址信息和事件主题信息,所述源地址信息为所述第一微服务器的地址信息。


4.根据权利要求1-3任一项所述的系统,其特征在于,所述地址信息包括所述目的服务器的网络互连协议IP地址信息和端口信息。


5.根据权利要求1所述的系统,其特征在于,所述第二微服务器还用于,在判断该事件消息包括的目的服务器的地址信息与所述第二微服务器的地址信息是否一致之前,确定该事件消息中包括的事件主题信息与所述第二微服务器的主题相匹配;
所述第二微服务器还用于,在确定该事件消息中包括的事件主题信息与所述第二微服务器的主题不匹配时,停止对所述事件消息的处理。


6.根据权利要求1所述的系统,其特征在于,所述第二微服务器还用于,在从所述消息中间件中获取到事件消息时,若该事件消息中的源地址信息与所述第二微服务器的地址信息一致,则停止对该事件消息的处理,所...

【专利技术属性】
技术研发人员:朱绍宾
申请(专利权)人:东软集团股份有限公司
类型:发明
国别省市:辽宁;21

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

1