微服務如何相互協作?
微服務如何相互協作和交互?有兩種方法:協調和編排。
下圖說明了微服務之間的協作。
01 編排和協調
編排就像由編舞設定所有規則。然後,舞臺上的舞者(微服務)根據這些規則進行交互。服務編排描述了這種信息交換和微服務交互的規則。
協調則不同。協調器充當權威中心。它負責調用和組合服務。它描述所有參與服務之間的交互。它就像音樂交響樂中領導樂手的指揮。協調模式還包括不同服務之間的事務管理。
02 協調的好處
-
可靠性 - 協調模式有內置的事務管理和錯誤處理功能,而編排模式是點對點通信,容錯情況要複雜得多。
-
可擴展性 - 在協調模式中添加新服務時,只有協調者需要修改交互規則,而在編排中則需要修改所有交互服務。
03 協調的一些侷限性
-
性能 - 所有服務都通過集中的協調器進行對話,因此延遲比編排高。此外,吞吐量也受限於協調器的容量。
-
單點故障 - 如果協調器宕機,則所有服務都無法相互通信。爲減少這種情況,協調器必須具有高可用性。
真實世界用例:Netflix Conductor 是一個微服務協調器,您可以閱讀有關協調器設計的更多詳細信息。
本文由 Readfog 進行 AMP 轉碼,版權歸原作者所有。
來源:https://mp.weixin.qq.com/s/1WAuUW_hiQYyLsdFvHHyTg