RPC基礎架構圖

RPCServiceClient 需要引入哪個依賴_#RPC

 

RPC基礎調用流程

客户端(調用方):在調用某一個服務時,這個服務實際上是通過動態代理生成的一個代理類的對象。因此在執行方法的時候,實際上執行的是InvocationHandler的invoke方法。然後調用的信息是從zk註冊中心拿到的服務提供方的集羣信息,通過負載均衡發現一台實際的服務提供方的服務器地址。將請求信息序列化為二進制數據,然後通過netty的client將請求發送給服務提供方,同時wait服務的響應。

服務方:啓動應用後,rpc將需要發佈的服務註冊到zk上,開啓netty server監聽器。服務方收到客户端的數據後,將數據反序列化為請求對象,然後解析請求,進行一系列的過濾操作。最後根據請求的信息定位到服務方唯一的一個服務,執行服務的方法。將執行的結果序列化為二進制數據,回寫到調用服務的客户端。

客户端(調用方):接收到服務方的響應後,將響應結果反序列化為響應對象,最後返回給用户線程,完成了rpc的調用過程。