| 企服解答
常見的RPC框架:1、Thrift;2、Dubbo;3、Spring Cloud。
Java rpc框架都有哪些
1、Thrift:
thrift是一個軟件框架,用來進行可擴展且跨語言的服務(wù)的開發(fā)。
它結(jié)合了功能強大的軟件堆棧和代碼生成引擎,以構(gòu)建在 C++, Java, Python, PHP, Ruby, Erlang, Perl, Haskell, C#, Cocoa, JavaScript, Node.js, Smalltalk, and OCaml 這些編程語言間無縫結(jié)合的、高效的服務(wù)。
2、Dubbo:
Dubbo是一個分布式服務(wù)框架,以及SOA治理方案。
其功能主要包括:高性能NIO通訊及多協(xié)議集成,服務(wù)動態(tài)尋址與路由,軟負載均衡與容錯,依賴分析與降級等。
Dubbo是阿里巴巴內(nèi)部的SOA服務(wù)化治理方案的核心框架,Dubbo自2011年開源后,已被許多非阿里系公司使用。
3、Spring Cloud:
Spring Cloud由眾多子項目組成,如Spring Cloud Config、Spring Cloud Netflix、Spring Cloud Consul 等,提供了搭建分布式系統(tǒng)及微服務(wù)常用的工具,如配置管理、服務(wù)發(fā)現(xiàn)、斷路器、智能路由、微代理、控制總線、一次性token、全局鎖、選主、分布式會話和集群狀態(tài)等,滿足了構(gòu)建微服務(wù)所需的所有解決方案。
Spring Cloud基于Spring Boot, 使得開發(fā)部署極其簡單。
| 擴展閱讀
RPC(Remote Procedure Call Protocol),指遠程過程調(diào)用,一般用來實現(xiàn)部署在不同機器上的系統(tǒng)之間的方法調(diào)用,使得程序能夠像訪問本地系統(tǒng)資源一樣,通過網(wǎng)絡(luò)傳輸去訪問遠端系統(tǒng)資源。
它是一種通過網(wǎng)絡(luò)從遠程計算機程序上請求服務(wù),而不需要了解底層網(wǎng)絡(luò)技術(shù)的思想。RPC 是一種技術(shù)思想而非一種規(guī)范或協(xié)議。
核心 RPC 框架的重要組成:
1、客戶端(Client):服務(wù)調(diào)用方。
2、客戶端存根(Client Stub):存放服務(wù)端地址信息,將客戶端的請求參數(shù)數(shù)據(jù)信息打包成網(wǎng)絡(luò)消息,再通過網(wǎng)絡(luò)傳輸發(fā)送給服務(wù)端。
3、服務(wù)端存根(Server Stub):接收客戶端發(fā)送過來的請求消息并進行解包,然后再調(diào)用本地服務(wù)進行處理。
4、服務(wù)端(Server):服務(wù)的真正提供者。
5、Network Service:底層傳輸,可以是 TCP 或 HTTP。
[免責(zé)聲明]
文章標題: Java rpc框架都有哪些
文章內(nèi)容為網(wǎng)站編輯整理發(fā)布,僅供學(xué)習(xí)與參考,不代表本網(wǎng)站贊同其觀點和對其真實性負責(zé)。如涉及作品內(nèi)容、版權(quán)和其它問題,請及時溝通。發(fā)送郵件至36dianping@36kr.com,我們會在3個工作日內(nèi)處理。