訊息模式

雲端應用程式的分散式本質需要可連接元件和服務的傳訊基礎結構,最理想的情況是使用鬆散耦合的方式來達到延展性最大化。 已廣泛使用的非同步傳訊提供許多優點,但也帶來傳訊的順序安排、有害訊息的管理和冪等性 (idempotency) 等挑戰。

模式 摘要
非同步要求-回覆 將後端處理與前端主機分離,其中後端處理必須是非同步的,但前端仍然需要明確的回應。
提領票證 將大型訊息分割成提領票證與承載,以免癱瘓訊息匯流排。
設計 讓系統的每個元件參與有關商務交易工作流程的決策制定流程,而不是依賴中央控制點。
競爭取用者 讓多個並行取用者處理在相同傳訊通道上接收的訊息。
管道與篩選器 將執行複雜處理程序的工作,細分成一系列可重複使用的個別元素。
優先順序佇列 針對傳送給服務的要求排列優先順序,讓高優先順序要求的接收和處理順序在低優先順序要求之前。
Publisher-Subscriber 讓應用程式能夠非同步地向多個感興趣的取用者宣告事件,而不需要將傳送者與取用者結合。
佇列型負載調節 使用佇列來作為工作與其所叫用服務之間的緩衝區,以使間歇性的繁重負載順暢。
Saga 在分散式交易案例中管理微服務之間的資料一致性。 Saga 是一連串的交易,可更新每個服務併發布訊息或事件以觸發下一個交易步驟。
排程器代理程式監督員 在一組分散式服務和其他遠端資源中協調一組動作。
循序群組 以定義的順序處理一組相關的訊息,而不封鎖處理其他訊息群組。