亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

REST、SOAP和RPC的區別有哪些

發布時間:2021-12-28 11:27:31 來源:億速云 閱讀:248 作者:小新 欄目:編程語言

這篇文章主要介紹了REST、SOAP和RPC的區別有哪些,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

什么是RPC

RPC(Remote Procedure Call Protocol)——遠程過程調用協議,它是一種通過網絡從遠程計算機程序上請求服務,而不需要了解底層網絡技術的協議。

簡言之,RPC使得程序能夠像訪問本地系統資源一樣,去訪問遠端系統資源。

比較關鍵的一些方面包括:

通訊協議

序列化

資源(接口)描述

服務框架

性能

語言支持等。

REST 和 SOAP、RPC

REST、SOAP和RPC的區別有哪些

1.REST

可以看著是http協議的一種直接應用,默認基于json作為傳輸格式,使用簡單,學習成本低效率高,但是安全性較低。

2.SOAP

SOAP是一種數據交換協議規范,是一種輕量的、簡單的、基于XML的協議的規范。而SOAP可以看著是一個重量級的協議,基于xml,SOAP在安全方面是通過使用XML-Security和XML-Signature兩個規范組成了WS-Security來實現安全控制的,當前已經得到了各個廠商的支持 。

它有什么優點?簡單總結為: 易用,靈活,跨語言,跨平臺。

3.RPC(遠程過程調用)是什么?

簡單的說,RPC就是從一臺機器(客戶端)上通過參數傳遞的方式調用另一臺機器(服務器)上的一個函數或方法(可以統稱為服務)并得到返回的結果。

REST 和 SOAP、RPC 有何區別呢?沒什么太大區別,他們的本質都是提供可支持分布式的基礎服務,最大的區別在于他們各自的的特點所帶來的不同應用場景 。

RPC工作原理

運行時,一次客戶機對服務器的RPC調用,其內部操作大致有如下十步:

1.調用客戶端句柄;執行傳送參數

2.調用本地系統內核發送網絡消息

3.消息傳送到遠程主機

4.服務器句柄得到消息并取得參數

5.執行遠程過程

6.執行的過程將結果返回服務器句柄

7.服務器句柄返回結果,調用遠程系統內核

8.消息傳回本地主機

9.客戶句柄由內核接收消息

10.客戶接收句柄返回的數據

主流RPC框架

簡單介紹其中幾種比較典型的:

REST、SOAP和RPC的區別有哪些

1.RMI

利用java.rmi包實現,基于Java遠程方法協議(Java Remote Method Protocol) 和java的原生序列化。

2.Hessian

是一個輕量級的remoting onhttp工具,使用簡單的方法提供了RMI的功能。 基于HTTP協議,采用二進制編解碼。

3.protobuf-rpc-pro

是一個Java類庫,提供了基于 Google 的 Protocol Buffers 協議的遠程方法調用的框架。基于 Netty 底層的 NIO 技術。支持 TCP 重用/ keep-alive、SSL加密、RPC 調用取消操作、嵌入式日志等功能。

4.Thrift

是一種可伸縮的跨語言服務的軟件框架。它擁有功能強大的代碼生成引擎,無縫地支持C + +,C#,Java,Python和PHP和Ruby。thrift允許你定義一個描述文件,描述數據類型和服務接口。依據該文件,編譯器方便地生成RPC客戶端和服務器通信代碼。

最初由facebook開發用做系統內個語言之間的RPC通信,2007年由facebook貢獻到apache基金 ,現在是apache下的opensource之一 。支持多種語言之間的RPC方式的通信:php語言client可以構造一個對象,調用相應的服務方法來調用java語言的服務,跨越語言的C/S RPC調用。底層通訊基于SOCKET。

5.Avro

出自Hadoop之父Doug Cutting, 在Thrift已經相當流行的情況下推出Avro的目標不僅是提供一套類似Thrift的通訊中間件,更是要建立一個新的,標準性的云計算的數據交換和存儲的Protocol。支持HTTP,TCP兩種協議。

6.Dubbo

Dubbo是 阿里巴巴公司開源的一個高性能優秀的服務框架,使得應用可通過高性能的 RPC 實現服務的輸出和輸入功能,可以和 Spring框架無縫集成。

簡單的使用方法:

1、被遠程調用的接口,需要在zookeeper中進行注冊;

2、需要遠程調用的服務在zookeeper中聲明自己需要的接口;

3、zookeeper將已經注冊的接口通知給需要的服務;

感謝你能夠認真閱讀完這篇文章,希望小編分享的“REST、SOAP和RPC的區別有哪些”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,更多相關知識等著你來學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

休宁县| 雅江县| 疏勒县| 景宁| 朔州市| 建昌县| 隆化县| 东乌| 酉阳| 安塞县| 荔波县| 陆丰市| 洮南市| 文安县| 家居| 临江市| 若尔盖县| 东丰县| 商丘市| 裕民县| 肥东县| 浮梁县| 东方市| 拉萨市| 泾源县| 顺平县| 蛟河市| 灌南县| 萍乡市| 阿拉善右旗| 饶平县| 鄱阳县| 岢岚县| 阿合奇县| 石景山区| 阿瓦提县| 叙永县| 奉新县| 即墨市| 永济市| 洛扎县|