真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

REST、SOAP和RPC的區(qū)別有哪些-創(chuàng)新互聯(lián)

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

成都創(chuàng)新互聯(lián)公司科技有限公司專業(yè)互聯(lián)網(wǎng)基礎(chǔ)服務(wù)商,為您提供西部信息服務(wù)器托管高防服務(wù)器,成都IDC機(jī)房托管,成都主機(jī)托管等互聯(lián)網(wǎng)服務(wù)。

什么是RPC

RPC(Remote Procedure Call Protocol)——遠(yuǎn)程過程調(diào)用協(xié)議,它是一種通過網(wǎng)絡(luò)從遠(yuǎn)程計(jì)算機(jī)程序上請(qǐng)求服務(wù),而不需要了解底層網(wǎng)絡(luò)技術(shù)的協(xié)議。

簡言之,RPC使得程序能夠像訪問本地系統(tǒng)資源一樣,去訪問遠(yuǎn)端系統(tǒng)資源。

比較關(guān)鍵的一些方面包括:

通訊協(xié)議

序列化

資源(接口)描述

服務(wù)框架

性能

語言支持等。

REST 和 SOAP、RPC

REST、SOAP和RPC的區(qū)別有哪些

1.REST

可以看著是http協(xié)議的一種直接應(yīng)用,默認(rèn)基于json作為傳輸格式,使用簡單,學(xué)習(xí)成本低效率高,但是安全性較低。

2.SOAP

SOAP是一種數(shù)據(jù)交換協(xié)議規(guī)范,是一種輕量的、簡單的、基于XML的協(xié)議的規(guī)范。而SOAP可以看著是一個(gè)重量級(jí)的協(xié)議,基于xml,SOAP在安全方面是通過使用XML-Security和XML-Signature兩個(gè)規(guī)范組成了WS-Security來實(shí)現(xiàn)安全控制的,當(dāng)前已經(jīng)得到了各個(gè)廠商的支持 。

它有什么優(yōu)點(diǎn)?簡單總結(jié)為: 易用,靈活,跨語言,跨平臺(tái)。

3.RPC(遠(yuǎn)程過程調(diào)用)是什么?

簡單的說,RPC就是從一臺(tái)機(jī)器(客戶端)上通過參數(shù)傳遞的方式調(diào)用另一臺(tái)機(jī)器(服務(wù)器)上的一個(gè)函數(shù)或方法(可以統(tǒng)稱為服務(wù))并得到返回的結(jié)果。

REST 和 SOAP、RPC 有何區(qū)別呢?沒什么太大區(qū)別,他們的本質(zhì)都是提供可支持分布式的基礎(chǔ)服務(wù),大的區(qū)別在于他們各自的的特點(diǎn)所帶來的不同應(yīng)用場景 。

RPC工作原理

運(yùn)行時(shí),一次客戶機(jī)對(duì)服務(wù)器的RPC調(diào)用,其內(nèi)部操作大致有如下十步:

1.調(diào)用客戶端句柄;執(zhí)行傳送參數(shù)

2.調(diào)用本地系統(tǒng)內(nèi)核發(fā)送網(wǎng)絡(luò)消息

3.消息傳送到遠(yuǎn)程主機(jī)

4.服務(wù)器句柄得到消息并取得參數(shù)

5.執(zhí)行遠(yuǎn)程過程

6.執(zhí)行的過程將結(jié)果返回服務(wù)器句柄

7.服務(wù)器句柄返回結(jié)果,調(diào)用遠(yuǎn)程系統(tǒng)內(nèi)核

8.消息傳回本地主機(jī)

9.客戶句柄由內(nèi)核接收消息

10.客戶接收句柄返回的數(shù)據(jù)

主流RPC框架

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

REST、SOAP和RPC的區(qū)別有哪些

1.RMI

利用java.rmi包實(shí)現(xiàn),基于Java遠(yuǎn)程方法協(xié)議(Java Remote Method Protocol) 和java的原生序列化。

2.Hessian

是一個(gè)輕量級(jí)的remoting onhttp工具,使用簡單的方法提供了RMI的功能。 基于HTTP協(xié)議,采用二進(jìn)制編解碼。

3.protobuf-rpc-pro

是一個(gè)Java類庫,提供了基于 Google 的 Protocol Buffers 協(xié)議的遠(yuǎn)程方法調(diào)用的框架?;?Netty 底層的 NIO 技術(shù)。支持 TCP 重用/ keep-alive、SSL加密、RPC 調(diào)用取消操作、嵌入式日志等功能。

4.Thrift

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

最初由facebook開發(fā)用做系統(tǒng)內(nèi)個(gè)語言之間的RPC通信,2007年由facebook貢獻(xiàn)到apache基金 ,現(xiàn)在是apache下的opensource之一 。支持多種語言之間的RPC方式的通信:php語言client可以構(gòu)造一個(gè)對(duì)象,調(diào)用相應(yīng)的服務(wù)方法來調(diào)用java語言的服務(wù),跨越語言的C/S RPC調(diào)用。底層通訊基于SOCKET。

5.Avro

出自Hadoop之父Doug Cutting, 在Thrift已經(jīng)相當(dāng)流行的情況下推出Avro的目標(biāo)不僅是提供一套類似Thrift的通訊中間件,更是要建立一個(gè)新的,標(biāo)準(zhǔn)性的云計(jì)算的數(shù)據(jù)交換和存儲(chǔ)的Protocol。支持HTTP,TCP兩種協(xié)議。

6.Dubbo

Dubbo是 阿里巴巴公司開源的一個(gè)高性能優(yōu)秀的服務(wù)框架,使得應(yīng)用可通過高性能的 RPC 實(shí)現(xiàn)服務(wù)的輸出和輸入功能,可以和 Spring框架無縫集成。

簡單的使用方法:

1、被遠(yuǎn)程調(diào)用的接口,需要在zookeeper中進(jìn)行注冊(cè);

2、需要遠(yuǎn)程調(diào)用的服務(wù)在zookeeper中聲明自己需要的接口;

3、zookeeper將已經(jīng)注冊(cè)的接口通知給需要的服務(wù);

感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享的“REST、SOAP和RPC的區(qū)別有哪些”這篇文章對(duì)大家有幫助,同時(shí)也希望大家多多支持創(chuàng)新互聯(lián),關(guān)注創(chuàng)新互聯(lián)-成都網(wǎng)站建設(shè)公司行業(yè)資訊頻道,更多相關(guān)知識(shí)等著你來學(xué)習(xí)!


文章名稱:REST、SOAP和RPC的區(qū)別有哪些-創(chuàng)新互聯(lián)
URL鏈接:http://weahome.cn/article/dpgodd.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部