同步通訊 - AWS 方案指引

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

同步通訊

在同步通訊中,用戶端會啟動對服務的請求,如下圖所示。範例包括擷取資訊的請求,例如HTTP GET請求,或變更資料的請求,例如HTTP PUT請求。在任何一種情況下,用戶端都會等待伺服器回應,然後再繼續。大多數開發人員都熟悉同步呼叫,易於實作和疑難排解,而且在許多情況下, 是廣泛接受的通訊標準。

用戶端與微服務之間或微服務之間的同步通訊。

同步通訊的優點包括:

  • 可預測的流程控制 – 確定性執行和清除請求回應週期,相較於非同步通訊,這些週期更容易理解。

  • 高度一致性 – 立即確認資料變更和狀態更新。

  • 簡單錯誤處理 – 直接傳播錯誤和例外狀況。

  • 簡易偵錯 – 直接的請求追蹤和監控。

  • 通訊協定支援 – 建立良好的通訊協定,例如 HTTP 和 REST,讓實作變得簡單。

同步通訊有一些缺點:

  • 緊密耦合 – 服務對彼此可用性的直接相依性。

  • 網路影響 – 由於持續開放連線而增加網路負載。

  • 資源使用率 – 維護連線狀態的記憶體使用量較高。

  • 串聯失敗 – 能夠讓一個服務中的問題快速傳播到系統中。