2.RPC與dubbo核心概念
阿新 • • 發佈:2021-09-16
目錄
3.RPC
什麼叫RPC
RPC【Remote Procedure Call】是指遠端過程呼叫,是一種程序間通訊方式,他是一種技術的思想,而不是規範。它允許程式呼叫另一個地址空間(通常是共享網路的另一臺機器上)的過程或函式,而不用程式設計師顯式編碼這個遠端呼叫的細節。即程式設計師無論是呼叫本地的還是遠端的函式,本質上編寫的呼叫程式碼基本相同。
RPC基本原理
- client與service要建立連線
- 傳遞資料要序列化和反序列化機制
RPC兩個核心模組:通訊效率(網路通訊),序列化效率。
RPC框架有很多:dubbo、gRPC、Thrift、HSF(High Speed Service Framework)
4.dubbo核心概念
簡介
Apache Dubbo (incubating) 是一款高效能、輕量級的開源Java RPC框架。
它提供了三大核心能力:
- 面向介面的遠端方法呼叫
- 智慧容錯和負載均衡
- 以及服務自動註冊和發現。
官網:
基本概念
服務提供者(Provider):暴露服務的服務提供方,服務提供者在啟動時,向註冊中心註冊自己提供的服務。
服務消費者(Consumer): 呼叫遠端服務的服務消費方,服務消費者在啟動時,向註冊中心訂閱自己所需的服務,服務消費者,從提供者地址列表中,基於軟負載均衡演算法,選一臺提供者進行呼叫,如果呼叫失敗,再選另一臺呼叫。
註冊中心(Registry):註冊中心返回服務提供者地址列表給消費者,如果有變更,註冊中心將基於長連線推送變更資料給消費者
監控中心(Monitor):服務消費者和提供者,在記憶體中累計呼叫次數和呼叫時間,定時每分鐘傳送一次統計資料到監控中心
呼叫關係說明
服務容器負責啟動,載入,執行服務提供者。 服務提供者在啟動時,向註冊中心註冊自己提供的服務。 服務消費者在啟動時,向註冊中心訂閱自己所需的服務。 註冊中心返回服務提供者地址列表給消費者,如果有變更,註冊中心將基於長連線推送變更資料給消費者。 服務消費者,從提供者地址列表中,基於軟負載均衡演算法,選一臺提供者進行呼叫,如果呼叫失敗,再選另一臺呼叫。 服務消費者和提供者,在記憶體中累計呼叫次數和呼叫時間,定時每分鐘傳送一次統計資料到監控中心。