本公開涉及一種分布式系統以及分布式系統的通信方法,所述系統包括多個微服務器,所述微服務器之間通過消息中間件通訊連接,其中,第一微服務器用于,在獲取到本地事件所對應的事件消息時,將事件消息中的接收方特征信息與每一微服務器的特征信息進行匹配,以確定事件消息的接收方;在接收方不為第一微服務器時,將事件消息發送至消息中間件,使得接收方能夠通過所述消息中間件接收該事件消息;第二微服務器用于,獲取所述消息中間件中的事件消息,并將所述事件消息中的接收方特征信息與所述第二微服務器的特征信息進行匹配;在根據匹配結果確定所述接收方為所述第二微服務器時,響應于所述事件消息,發布對應于所述事件消息的本地事件。
Distributed system and communication method of distributed system
【技術實現步驟摘要】
分布式系統以及分布式系統的通信方法
本公開涉及通信
,具體地,涉及一種分布式系統以及分布式系統的通信方法。
技術介紹
在一個不斷發展的大型應用中,新的業務需求和功能不斷增加,技術也在不斷演進,不同團隊構建的功能子系統采用的技術架構可能各不相同,各個子系統的開發、部署以及運行模式也存在較大差異。如果企業內部沒有統一的服務框架來進行技術層面的互通,開發和運維效率就將受到較大的制約。采用分布式服務框架可以對傳統的垂直應用架構進行改造,但這種模式下分布式系統中的微服務器之間的通信方式又缺乏靈活性,同時資源占用度也較高。
技術實現思路
本公開的目的是提供一種分布式系統以及分布式系統的通信方法,以解決上述相關技術問題。為了實現上述目的,本公開的第一方面,提供一種分布式系統,所述系統包括多個微服務器,所述微服務器之間通過消息中間件通訊連接,其中,第一微服務器用于,在獲取到本地事件所對應的事件消息時,將所述事件消息中的接收方特征信息與每一微服務器的特征信息進行匹配,以確定所述事件消息的接收方;在所述接收方不為所述第一微服務器時,將所述事件消息發送至所述消息中間件,使得所述接收方能夠通過所述消息中間件接收所述事件消息;第二微服務器用于,獲取所述消息中間件中的事件消息,并將所述事件消息中的接收方特征信息與所述第二微服務器的特征信息進行匹配;在根據匹配結果確定所述接收方為所述第二微服務器時,響應于所述事件消息,發布對應于所述事件消息的本地事件。可選地,所述第一微服務器還用于:從注冊中心獲取每一所述微服務器的注冊信息;根據每一所述注冊信息,生成對應每一所述微服務器的特征信息。可選地,所述第一微服務器將所述事件消息發送至所述消息中間件包括:所述第一微服務器將所述第一微服務器的特征信息作為所述事件消息中的發布源特征信息;根據每一微服務器的狀態信息從所述接收方中確定可用的目標接收方,其中,所述狀態信息是從注冊中心獲取的,用于表征對應微服務器的運行狀態;根據所述目標接收方的特征信息更新所述事件消息中的特征信息,將更新后的所述事件消息發送至所述消息中間件。可選地,所述事件消息還包括類型標識信息,所述第二微服務器還用于,在將所述目標事件消息中的接收方特征信息與所述第二微服務器的特征信息進行匹配之前,根據所述事件消息的類型標識信息,確定所述事件消息為預設類型。可選地,所述事件消息還包括發布源特征信息,所述第二微服務器還用于,向所述消息中間件發送表征所述目標事件消息接收成功的響應事件消息。本公開實施例的第二方面,提供一種分布式系統的通信方法,所述方法包括:所述分布式系統的第一微服務器在獲取到本地事件所對應的事件消息時,將所述事件消息中的接收方特征信息與每一微服務器的特征信息進行匹配,以確定所述事件消息的接收方;在所述接收方不為所述第一微服務器時,將所述事件消息發送至消息中間件,使得所述接收方能夠通過所述消息中間件接收所述事件消息;所述分布式系統的第二微服務器獲取消息中間件中的事件消息,并將所述事件消息中的接收方特征信息與所述第二微服務器的特征信息進行匹配;在根據匹配結果確定所述接收方為所述第二微服務器時,響應于所述事件消息,發布對應于所述事件消息的本地事件。可選地,每一所述微服務器的特征信息是所述第一微服務器通過如下方式得到的:從注冊中心獲取每一所述微服務器的注冊信息;根據每一所述注冊信息,生成對應每一所述微服務器的特征信息。可選地,所述將所述事件消息發送至消息中間件包括:將所述第一微服務器的特征信息作為所述事件消息中的發布源特征信息;根據每一微服務器的狀態信息從所述接收方中確定可用的目標接收方,其中,所述狀態信息是從注冊中心獲取的,用于表征對應微服務器的運行狀態;根據所述目標接收方的特征信息更新所述事件消息中的特征信息,將更新后的所述事件消息發送至消息中間件。可選地,所述事件消息還包括類型標識信息,所述將所述目標事件消息中的接收方特征信息與所述第二微服務器的特征信息進行匹配之前,所述方法還包括:所述第二微服務器根據所述事件消息的類型標識信息,確定所述事件消息為預設類型。可選地,所述事件消息還包括發布源特征信息,所述方法還包括:所述第二微服務器向所述消息中間件發送表征所述目標事件消息接收成功的響應事件消息。上述技術方案至少可以包括如下技術效果:第一微服務器作為事件消息發送方,在需要發送事件消息時,可以根據需要發送的數據內容以及發送目的端封裝事件消息,并發布對應的本地事件。進一步的,所述第一微服務器在監聽到所述本地事件時,可以獲取所述本地事件所對應的事件消息,進而根據所述事件消息中的接收方特征信息確定所述事件消息的接收方。最終,在確定所述接收方不為所述第一微服務器時,所述第一微服務器可以將所述事件消息發送至消息中間件,從而使得第二微服務器能夠通過監聽所述消息中間件的方式來接收所述事件消息。這樣,所述分布式系統中的多個微服務器可以通過一個消息中間件來進行消息的雙向傳遞,從而能夠降低微服務器與消息中間件之間的耦合度,在節省資源的同時也保證了通信的靈活性。本公開的其他特征和優點將在隨后的具體實施方式部分予以詳細說明。附圖說明附圖是用來提供對本公開的進一步理解,并且構成說明書的一部分,與下面的具體實施方式一起用于解釋本公開,但并不構成對本公開的限制。在附圖中:圖1是本公開一示例性實施例所示出的一種分布式系統的框圖。圖2是本公開一示例性實施例所示出的一種分布式系統的結構示意圖。圖3是本公開一示例性實施例所示出的一種分布式系統的通信方法的流程示意圖。圖4是本公開一示例性實施例所示出的一種分布式系統的通信方法的流程示意圖。圖5是本公開一示例性實施例所示出的一種分布式系統的通信方法的流程示意圖。圖6是本公開一示例性實施例所示出的一種分布式系統的通信方法的流程示意圖。圖7是本公開一示例性實施例所示出的一種電子設備的框圖。具體實施方式以下結合附圖對本公開的具體實施方式進行詳細說明。應當理解的是,此處所描述的具體實施方式僅用于說明和解釋本公開,并不用于限制本公開。在介紹本公開所提供的通信方法之前,首先對本公開各實施例的應用場景進行介紹,本公開的各實施例可以應用于分布式系統中,以實現所述分布式系統中的各微服務器之間的雙向通信。其中,所述分布式系統例如可以是企業管理系統、游戲系統等需要進行數據同步的系統。不同的微服務器承擔不同的功能,例如,在企業管理系統中,財務模塊可能集成于一個微服務器中,人事模塊可能集成于另一個微服務器中,而業務處理模塊可能集成于其他微服務器中,在發生了數據更新時(例如人事模塊中有人事變動),則其他微服務器可能需要對該更新的數據進行同步(例如財務模塊需要針對人事變動進行數據更新),也可能不需要對該更新的數據進行同步(例如業務處理模塊本文檔來自技高網...
【技術保護點】
1.一種分布式系統,其特征在于,所述系統包括多個微服務器,所述微服務器之間通過消息中間件通訊連接,其中,/n第一微服務器用于,在獲取到本地事件所對應的事件消息時,將所述事件消息中的接收方特征信息與每一微服務器的特征信息進行匹配,以確定所述事件消息的接收方;在所述接收方不為所述第一微服務器時,將所述事件消息發送至所述消息中間件,使得所述接收方能夠通過所述消息中間件接收所述事件消息;/n第二微服務器用于,獲取所述消息中間件中的事件消息,并將所述事件消息中的接收方特征信息與所述第二微服務器的特征信息進行匹配;在根據匹配結果確定所述接收方為所述第二微服務器時,響應于所述事件消息,發布對應于所述事件消息的本地事件。/n
【技術特征摘要】
1.一種分布式系統,其特征在于,所述系統包括多個微服務器,所述微服務器之間通過消息中間件通訊連接,其中,
第一微服務器用于,在獲取到本地事件所對應的事件消息時,將所述事件消息中的接收方特征信息與每一微服務器的特征信息進行匹配,以確定所述事件消息的接收方;在所述接收方不為所述第一微服務器時,將所述事件消息發送至所述消息中間件,使得所述接收方能夠通過所述消息中間件接收所述事件消息;
第二微服務器用于,獲取所述消息中間件中的事件消息,并將所述事件消息中的接收方特征信息與所述第二微服務器的特征信息進行匹配;在根據匹配結果確定所述接收方為所述第二微服務器時,響應于所述事件消息,發布對應于所述事件消息的本地事件。
2.根據權利要求1所述的系統,其特征在于,所述第一微服務器還用于:
從注冊中心獲取每一所述微服務器的注冊信息;
根據每一所述注冊信息,生成對應每一所述微服務器的特征信息。
3.根據權利要求1所述的系統,其特征在于,所述第一微服務器將所述事件消息發送至所述消息中間件包括:所述第一微服務器將所述第一微服務器的特征信息作為所述事件消息中的發布源特征信息;根據每一微服務器的狀態信息從所述接收方中確定可用的目標接收方,其中,所述狀態信息是從注冊中心獲取的,用于表征對應微服務器的運行狀態;根據所述目標接收方的特征信息更新所述事件消息中的特征信息,將更新后的所述事件消息發送至所述消息中間件。
4.根據權利要求1所述的系統,其特征在于,所述事件消息還包括類型標識信息,所述第二微服務器還用于,在將所述目標事件消息中的接收方特征信息與所述第二微服務器的特征信息進行匹配之前,根據所述事件消息的類型標識信息,確定所述事件消息為預設類型。
5.根據權利要求1所述的系統,其特征在于,所述事件消息還包括發布源特征信息,所述第二微服務器還用于,向所述消息中間件發送表征所述目標事件消息接收成功的響應事件消息。
6.一種分...
【專利技術屬性】
技術研發人員:朱紹賓,張霞,
申請(專利權)人:東軟集團股份有限公司,
類型:發明
國別省市:遼寧;21
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。