微服務非同步通訊

2022-07-05 20:00:14 字數 517 閱讀 9503

在微服務架構中,可能會有幾十甚至上百個微服務。在對外提供的某一項功能中,可能需要同時或依次呼叫這些服務。因此保證微服務之間通訊的穩定性是十分必要的。

負載均衡

為了保證服務的可用性,同乙個服務往往會同時部署在多個服務上,為了均衡每個例項的請求壓力,我們需要乙個負載均衡方案。

分布式追蹤

服務版本

每當你部署新版本的服務時,你都得確保不會因為其他服務仍然在呼叫你的舊版本介面而導致異常。甚至有的時候你可能想同時提供多個版本的服務。

tsl加密和tls鑑權

對於成熟的服務來說,通訊加密和鑑權是必不可少的安全環節。

服務間的通訊常見有兩種方式:一種是更易於理解的同步訊息,呼叫方會同步等待服務返回結果。另一種是非同步訊息佇列如rabbitmq、kafka等中介軟體,我們只需要將訊息傳送給訊息中介軟體,不需要等待服務返回結果。

請求響應語義[1]

吞吐佇列語義[1]成為處理非同步訊息的瓶頸

可以考慮使用事件流代替佇列

[1]: 佇列語義

投遞語義

微服務通訊策略

在geecon 2018大會上,michael pl d在一場介紹微服務之間不同的通訊策略的演講中解釋說,在從單體架構遷移到微服務架構時,暗含在單體架構中的複雜性會明確顯露出來,通訊挑戰將呈指數級增長。u0026 xd n u0026 xd n pl d是innoq首席顧問。他首先指出,根據他的經驗...

微服務通訊策略

在geecon 2018大會上,michael pl d在一場介紹微服務之間不同的通訊策略的演講中解釋說,在從單體架構遷移到微服務架構時,暗含在單體架構中的複雜性會明確顯露出來,通訊挑戰將呈指數級增長。pl d是innoq首席顧問。他首先指出,根據他的經驗,團隊經常把微服務視為預設架構。他強調,分布...

微服務通訊策略

在geecon 2018大會上,michael pl d在一場介紹微服務之間不同的通訊策略的演講中解釋說,在從單體架構遷移到微服務架構時,暗含在單體架構中的複雜性會明確顯露出來,通訊挑戰將呈指數級增長。pl d是innoq首席顧問。他首先指出,根據他的經驗,團隊經常把微服務視為預設架構。他強調,分布...