微服務 2 遠端呼叫方式

2021-10-01 10:45:09 字數 1075 閱讀 2211

無論是微服務還是soa,都面臨著服務間的遠端呼叫。

那麼服務間的遠端呼叫方式有哪些呢?

常見的遠端呼叫方式有以下幾種:

rpc,即 remote procedure call(遠端過程呼叫),是乙個計算機通訊協議。 該協議允許執行於一台計算機的程式

呼叫另一台計算機的子程式,而程式設計師無需額外地為這個互動作用程式設計。說得通俗一點就是:a計算機提供乙個服

務,b計算機可以像呼叫本地服務那樣呼叫a計算機的服務。

通過上面的概念,我們可以知道,實現rpc主要是做到兩點:

像呼叫本地服務一樣呼叫遠端服務

如果僅僅是遠端呼叫,還不算是rpc,因為rpc強調的是過程呼叫,呼叫的過程對使用者而言是應該是透明

的,使用者不應該關心呼叫的細節,可以像呼叫本地服務一樣呼叫遠端服務。所以rpc一定要對呼叫的過程

進行封裝

rpc呼叫流程圖:

想要了解詳細的rpc實現,給大家推薦一篇文章:自己動手實現rpc

http協議:超文字傳輸協議,是一種應用層協議。規定了網路傳輸的請求格式、響應格式、資源定位和操作的方式

等。但是底層採用什麼網路傳輸協議,並沒有規定,不過現在都是採用tcp協議作為底層傳輸協議。說到這裡,大家

可能覺得,http與rpc的遠端呼叫非常像,都是按照某種規定好的資料格式進行網路通訊,有請求,有響應。沒錯,

在這點來看,兩者非常相似,但是還是有一些細微差別。

優點:rpc方式更加透明,對使用者更方便。http方式更靈活,沒有規定api和語言,跨語言、跨平台

缺點:rpc方式需要在api層面進行封裝,限制了開發的語言環境。

例如我們通過瀏覽器訪問**,就是通過http協議。只不過瀏覽器把請求封裝,發起請求以及接收響應,解析響應的

事情都幫我們做了。如果是不通過瀏覽器,那麼這些事情都需要自己去完成。

既然兩種方式都可以實現遠端呼叫,我們該如何選擇呢?

微服務遠端呼叫方式之Ribbon

一.微服務遠端呼叫方式之ribbon 思考 如何實現遠端呼叫?1.1 使用ribbon來實現遠端呼叫 實現步驟及 01.在啟動類配置檔案中新增resttemplate的bean 02.使用resttemplate.getobject 獲取遠端介面的資訊.bean loadbalanced 加了此註解...

微服務採用何種遠端呼叫方式?

無論是微服務還是soa,都面臨著服務間的遠端呼叫。那麼服務間的遠端呼叫方式有哪些呢?常見的遠端呼叫方式有以下幾種 rpc,即 remote procedure call 遠端過程呼叫 是乙個計算機通訊協議。該協議允許執行於一台計算機的程式呼叫另一台計算機的子程式,而程式設計師無需額外地為這個互動作用...

微服務 服務間常見的幾種呼叫方式

在平時開發中會用到很多種呼叫介面的方式,今天就來總結一下常用的幾種呼叫方式。微服務間可以通過服務名直接呼叫。以nacos的註冊中心為例 1.在pom.xml檔案中新增依賴 org.springframework.cloudgroupid spring cloud starter openfeigna...