一、基於同步遠程過程調用(RPI)模式的通信
1.1 REST
1.1.1 概念
REST是一種使用HTTP協議的進程間通信機制。
REST中的一個關鍵概念是資源,它通常表示單個業務對象,例如:客戶/產品/業務對象的集合。
REST使用HTTP動詞操作資源,使用URL引用這些資源,例如:GET請求返回資源的表示形式
1.1.2 gRPC
用於編寫跨語言客戶端和服務端的框架。
gRPC API由一個或多個服務和請求/響應消息定義組成。
gRPC使用Protocol Buffers(標記格式)作爲消息格式。
1.1.3 使用斷路器模式處理局部故障
斷路器:遠程過程調用的代理,在連續失敗次數超過指定閾值後的一段時間內,這個代理會立刻拒絕其他調用。
解決思路:
1、必須讓遠程過程調用代理有正確處理無響應服務的能力。(響應次數)
2、需要決定如何從失敗的遠程服務中恢復。
1.1.4 服務發現機制
概念:關鍵組件是服務註冊表,是包含服務實例網絡位置信息的一個數據庫。
實現服務發現的兩種主要方式:
1、服務及其客戶直接與服務註冊表交互;
自注冊模式和客戶端發現模式的組合。
2、通過部署基礎設施來處理服務發現(建議使用,沒有語言或框架的限制)
第三方註冊(註冊服務器)模式和服務端發現模式
筆記來自:《微服務架構設計模式》一書,作者 [美] 克里斯·理查森 著,喻勇譯 第三章