微服務如何相互協作?

微服務如何相互協作和交互?有兩種方法:協調和編排。

下圖說明了微服務之間的協作。

01 編排和協調

編排就像由編舞設定所有規則。然後,舞臺上的舞者(微服務)根據這些規則進行交互。服務編排描述了這種信息交換和微服務交互的規則。

協調則不同。協調器充當權威中心。它負責調用和組合服務。它描述所有參與服務之間的交互。它就像音樂交響樂中領導樂手的指揮。協調模式還包括不同服務之間的事務管理。

02 協調的好處

  1. 可靠性 - 協調模式有內置的事務管理和錯誤處理功能,而編排模式是點對點通信,容錯情況要複雜得多。

  2. 可擴展性 - 在協調模式中添加新服務時,只有協調者需要修改交互規則,而在編排中則需要修改所有交互服務。

03 協調的一些侷限性

  1. 性能 - 所有服務都通過集中的協調器進行對話,因此延遲比編排高。此外,吞吐量也受限於協調器的容量。

  2. 單點故障 - 如果協調器宕機,則所有服務都無法相互通信。爲減少這種情況,協調器必須具有高可用性。

真實世界用例:Netflix Conductor 是一個微服務協調器,您可以閱讀有關協調器設計的更多詳細信息。

本文由 Readfog 進行 AMP 轉碼,版權歸原作者所有。
來源https://mp.weixin.qq.com/s/1WAuUW_hiQYyLsdFvHHyTg