自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

邊學(xué)邊記:RPC框架調(diào)用過程

網(wǎng)絡(luò) 通信技術(shù)
RPC是遠(yuǎn)程過程調(diào)用(Remote Procedure Call)的縮寫形式。它是一種通過網(wǎng)絡(luò)請(qǐng)求遠(yuǎn)程計(jì)算機(jī)程序上的服務(wù),而不需要了解底層網(wǎng)絡(luò)技術(shù)的協(xié)議,代碼中不用做額外的編程處理,就像直接調(diào)用本地方法一樣。

RPC簡(jiǎn)介

RPC是遠(yuǎn)程過程調(diào)用(Remote Procedure Call)的縮寫形式。它是一種通過網(wǎng)絡(luò)請(qǐng)求遠(yuǎn)程計(jì)算機(jī)程序上的服務(wù),而不需要了解底層網(wǎng)絡(luò)技術(shù)的協(xié)議,代碼中不用做額外的編程處理,就像直接調(diào)用本地方法一樣。

 

[[376896]]

RPC框架角色

在RPC框架中有三個(gè)重要的角色:RPC Server、RPC Client和Registry,如下圖所示:

 

邊學(xué)邊記:RPC框架調(diào)用過程
  • RPC Server:即Provider,暴露服務(wù)的服務(wù)提供者
  • RPC Client:即Consumer,調(diào)用遠(yuǎn)程服務(wù)的服務(wù)消費(fèi)者
  • Registry:服務(wù)注冊(cè)與發(fā)現(xiàn)的服務(wù)注冊(cè)中心

RPC核心組件

RPC架構(gòu)包含五個(gè)核心組件,Client,Client Stub,Server,Server Stub,NetWork Service,Stub可以理解為存根。

 

邊學(xué)邊記:RPC框架調(diào)用過程
  • Client:客戶端,服務(wù)的調(diào)用方
  • Client Stub:客戶端存根,存放服務(wù)端的地址消息,負(fù)責(zé)將客戶端的請(qǐng)求信息組裝成網(wǎng)絡(luò)消息,通過網(wǎng)絡(luò)遠(yuǎn)程發(fā)送給服務(wù)提供方
  • Server:服務(wù)端,真正的服務(wù)提供方
  • Server Stub:服務(wù)端存根,接收客戶端發(fā)來的消息,并將消息解壓后調(diào)用本地服務(wù)方法
  • NetWork Service:底層網(wǎng)絡(luò)傳輸,可以是TCP或HTTP

RPC調(diào)用過程

RPC框架的整體調(diào)用過程,如下圖所示:

 

邊學(xué)邊記:RPC框架調(diào)用過程
  1. 客戶端Client通過以本地調(diào)用的方式,調(diào)用遠(yuǎn)程接口服務(wù);
  2. 客戶端存根Client Stub接收到調(diào)用后,將調(diào)用信息對(duì)象進(jìn)行序列化,組裝成網(wǎng)絡(luò)傳輸?shù)亩M(jìn)制消息體;
  3. 客戶端Client通過Sockets將消息發(fā)送到遠(yuǎn)程服務(wù)端;
  4. 服務(wù)端存根Server Stub收到消息后,對(duì)網(wǎng)絡(luò)信息對(duì)象進(jìn)行反序列化解碼;
  5. 服務(wù)端存根Server Stub根據(jù)解碼結(jié)果,調(diào)用服務(wù)端本地的接口服務(wù);
  6. 本地接口服務(wù)執(zhí)行,并將處理結(jié)果返回給服務(wù)端存根Server Stub;
  7. 服務(wù)端存根Server Stub將返回結(jié)果對(duì)象進(jìn)行序列化,組裝成消息體;
  8. 服務(wù)端Server再通過Sockets將消息發(fā)送到客戶端;
  9. 客戶端存根Client Stub收到結(jié)果消息后,對(duì)網(wǎng)絡(luò)信息對(duì)象進(jìn)行序列化解碼;
  10. 客戶端Client拿到最終接口處理結(jié)果。

RPC構(gòu)架的目標(biāo)是就是把2、3、4、7、8、9步驟都封裝起來,讓調(diào)用方感覺像是調(diào)用本地方法一樣。

 

邊學(xué)邊記:RPC框架調(diào)用過程

開源的RPC框架

  • Dubbo:國(guó)內(nèi)最早開源的 RPC 框架,由阿里巴巴公司開發(fā)并于 2011 年末對(duì)外開源,僅支持 Java 語(yǔ)言
  • Spring Cloud:相比Dubbo等RPC框架, Spring Cloud提供全套的分布式系統(tǒng)解決方案
  • gRPC:是Google開發(fā)的高性能、通用的開源RPC框架,支持多種語(yǔ)言。

 

責(zé)任編輯:未麗燕 來源: 今日頭條
相關(guān)推薦

2020-12-02 10:20:33

Docker命令Linux

2009-12-18 11:15:17

ADSL寬帶共享上網(wǎng)

2022-06-27 15:42:23

區(qū)塊鏈

2020-09-14 10:34:40

Dubbo

2012-05-01 20:26:01

iPhone

2016-10-10 12:56:59

銳捷

2010-09-08 09:11:32

CSSmargin

2021-08-26 11:42:15

游戲編程語(yǔ)言

2025-03-27 23:41:35

豆包搜索AI

2010-01-19 09:48:22

VB.NET調(diào)用過程

2020-11-11 14:42:42

PythonBug命令

2018-11-26 12:34:48

2021-03-15 09:57:57

機(jī)器人人工智能系統(tǒng)

2019-06-10 15:58:30

數(shù)據(jù)分析流量采集

2019-01-18 12:18:31

編程語(yǔ)言Python

2021-01-26 15:40:46

工具Vim開發(fā)

2018-11-04 08:17:41

2009-05-12 10:24:16

華為任正非灰色管理

2018-12-04 11:48:45

微信支付病毒勒索
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)