欧美free性护士vide0shd,老熟女,一区二区三区,久久久久夜夜夜精品国产,久久久久久综合网天天,欧美成人护士h版

首頁綜合 正文
目錄

柚子快報邀請碼778899分享:rpc 什么是Dubbo?

柚子快報邀請碼778899分享:rpc 什么是Dubbo?

http://yzkb.51969.com/

文章目錄

1、Dubbo介紹1.1 什么是Dubbo1.2 Dubbo關鍵特性1.3 什么是RPC1.4 實現(xiàn)RPC的方式1.5 Dubbo中的五大核心組件

1、Dubbo介紹

??Apache Dubbo是一款高性能、輕量級的開源微服務開發(fā)框架,它提供了RPC通信與微服務治理兩大關鍵能力。這意味著,使用Dubbo開發(fā)的微服務,將具備相互之間的遠程發(fā)現(xiàn)與通信能力,同時利用Dubbo提供的豐富服務治理能力,可以實現(xiàn)諸如服務發(fā)現(xiàn)、負載均衡、流量調度等服務治理需求。同時Dubbo是高度可擴展的,用戶幾乎可以在任意功能點去定制自己的實現(xiàn),以改變框架的默認行為來滿足自己的業(yè)務需求。

??Dubbo提供了構建云原生微服務業(yè)務的一站式解決方案,可以使用Dubbo快速定義并發(fā)布微服務組件,同時基于Dubbo開箱即用的豐富特性及超強的擴展能力,構建運維整個微服務體系所需的各項服務治理能力,如Tracing、Trasaction等,Dubbo提供的基礎能力包括如下幾點:

服務發(fā)現(xiàn)流式通信負載均衡流量治理。。。

??Dubbo計劃提供豐富的多語言客戶端實現(xiàn),其中Java、Golang版本是當前穩(wěn)定性和活躍度最高的版本。

Dubbo的優(yōu)勢如下:

(1)開箱即用

易用性高,比如Java版本的面向接口代理特性能實現(xiàn)本地透明調用。功能豐富,基于原生庫或輕量擴展即可實現(xiàn)絕大多數(shù)的微服務治理能力。

(2)超大規(guī)模微服務集群實戰(zhàn)

高性能的跨進程通信協(xié)議。地址發(fā)現(xiàn)、流量治理層面,輕松支持百萬規(guī)模集群實例。

(3)企業(yè)級微服務治理能力

服務測試服務Mock

Dubbo中文官網(wǎng):https://cn.dubbo.apache.org/zh-cn/

1.1 什么是Dubbo

Apache Dubbo 是一款 RPC 服務開發(fā)框架,用于解決微服務架構下的服務治理與通信問題,官方提供了 Java、Golang 等多語言 SDK 實現(xiàn)。使用 Dubbo 開發(fā)的微服務原生具備相互之間的遠程地址發(fā)現(xiàn)與通信能力, 利用 Dubbo 提供的豐富服務治理特性,可以實現(xiàn)諸如服務發(fā)現(xiàn)、負載均衡、流量調度等服務治理訴求。Dubbo 被設計為高度可擴展,用戶可以方便的實現(xiàn)流量攔截、選址的各種定制邏輯。

在云原生時代,Dubbo 相繼衍生出了 Dubbo3、Proxyless Mesh 等架構與解決方案,在易用性、超大規(guī)模微服務實踐、云原生基礎設施適配、安全性等幾大方向上進行了全面升級。

Dubbo提供了從服務定義、服務發(fā)現(xiàn)、服務通信到流量管控等幾乎所有的服務治理能力,并且嘗試從使用上對用戶屏蔽地層細節(jié),以提供更好的易用性。

??現(xiàn)在主流的RPC框架包括Dubbo、SpringCloud、hessian、thrift、gRPC等。

1.2 Dubbo關鍵特性

面向接口代理的高性能RPC調用:提供高性能的基于代理的遠程調用能力,服務以接口為粒度,為開發(fā)者屏蔽遠程調用底層細節(jié)。智能容錯和負載均衡:內置多種負載均衡策略,智能感知下游節(jié)點健康狀況,顯著減少調用延遲,提高系統(tǒng)吞吐量。服務自動注冊和發(fā)現(xiàn):支持多種注冊中心服務,服務實例上下線實時感知。高度可擴展能力:遵循微內核+插件的設計原則,所有核心能力如Protocol、Transport、Serialization被設計為擴展點,平等對待內置實現(xiàn)和第三方實現(xiàn)。運行期流量調度:內置條件、腳本等路由策略,通過配置不同的路由規(guī)則,輕松實現(xiàn)灰度發(fā)布、同機房優(yōu)先等功能??梢暬姆罩卫砼c運維:提供豐富服務治理、運維工具,隨時查詢服務元數(shù)據(jù)、服務健康狀態(tài)及調用統(tǒng)計,實時下發(fā)路由策略、調整配置參數(shù)。

1.3 什么是RPC

?? 在一個JVM進程中,一個類中的方法調用另一個類中的方法是正常的,可以實現(xiàn)的,但如果在多個JVM進程之間互相調用呢?比如有兩臺計算機A和B,A計算機運行JVM,B計算機也運行JVM,由于業(yè)務是運行在不同的計算機和不同的JVM中,所以A和B計算機不能直接通信,要借助RPC技術。

??RPC(Remote Procedure Call,遠程過程調用)是一種在不同計算機或不同進程之間進行數(shù)據(jù)通信的技術,使用RPC不需要了解網(wǎng)絡底層知識,即可實現(xiàn)遠程通信,RPC底層原理是使用Socket實現(xiàn)不同計算機之間的通信。RPC采用服務端/客戶端模式,客戶端發(fā)起請求,而服務端接收請求及處理響應。

1.4 實現(xiàn)RPC的方式

??實現(xiàn)RPC通信可以使用以下2種方式。

基于TCP協(xié)議實現(xiàn):自己定制通信協(xié)議格式,就像自定義的JSON協(xié)議格式一樣,使用TCP協(xié)議對定制通信進行傳輸,實現(xiàn)兩端通信?;贖TTP協(xié)議實現(xiàn):自己定制通信協(xié)議格式,就像自定義的JSON協(xié)議格式一樣,使用HTTP協(xié)議對定制通信協(xié)議進行傳輸,實現(xiàn)兩端通信。

??使用TCP與HTTP實現(xiàn)RPC最大的區(qū)別就是TCP執(zhí)行速度要比HTTP快很多,原因是TCP直接使用基于Socket技術進行通信,而HTTP底層雖然也使用Socket技術進行通信,但HTTP協(xié)議是“中協(xié)議”,通過HTTP協(xié)議進入Web容器后還要處理其他的任務,比如Cookie、Session、Application、Filter、Listener等,還有Web容器內自己的業(yè)務都需要執(zhí)行,并沒有針對通信的效率進行垂直直接的優(yōu)化,所以使用TCP協(xié)議實現(xiàn)RPC在執(zhí)行效率上比HTTP快很多。

??使用TCP協(xié)議實現(xiàn)RPC通信的原理是達到對端后開始解析RPC協(xié)議,然后再使用反射技術進行動態(tài)調用業(yè)務方法。Dubbo框架已經(jīng)封裝了整個RPC通信的過程,可以快速開發(fā)分布式系統(tǒng)。Dubbo也成為RPC框架。

??點對點的服務通信是Dubbo提供的基本能力,Dubbo以RPC的方式請求數(shù)據(jù)(Request)發(fā)送給后端服務,并接收服務端返回的計算結果(Response)。RPC通信對用戶來說是完全透明的,用戶無需關心請求是如何發(fā)出去的、去到了哪里,每次調用只需要拿到正確的調用結果就行。同步的Request-Response是默認的通信模型,它最簡單但卻不能覆蓋所有的場景。因此,Dubbo提供更豐富的通信模型。

消費端異步請求(Client Side Asynchronous Request-Response)提供端異步請求(Server Side Asynchronous Request-Response)消費端請求流(Request Streaming)提供端響應流(Response Streaming)雙向流式通信(Bidirectional Streaming)

1.5 Dubbo中的五大核心組件

Dubbo具有五大核心組件。

(1)Provider:服務提供者,提供服務。

(2)Consumer:服務消費者,調用服務。

(3)Registry:注冊中心,提供服務注冊與服務發(fā)現(xiàn)。

(4)Monitor:監(jiān)控中心,提供服務調用次數(shù)和調用時間等監(jiān)控信息。

(5)Container:服務運行容器。

??服務發(fā)現(xiàn),即消費端自動發(fā)現(xiàn)服務地址列表的能力,是微服務框架需要具備的關鍵能力,借助于自動化的服務發(fā)現(xiàn),微服務之間可以在無須感知對端部署位置與IP地址的情況下實現(xiàn)通信。

??實現(xiàn)服務發(fā)現(xiàn)的方式有很多種,Dubbo提供的是一種Client-Based的服務發(fā)現(xiàn)機制,通常還需要部署額外的第三方注冊中心來協(xié)調服務發(fā)現(xiàn)過程,如常用的Nacos、Consul、Zookeeper等,Dubbo自身也提供了對多種注冊中心組件的封裝,用戶可以靈活選擇。

??服務發(fā)現(xiàn)的一個核心組件是注冊中心,Provider注冊地址到注冊中心,Consumer從注冊中心讀取和訂閱Provider地址列表。因此,要啟用服務發(fā)現(xiàn),需要為Dubbo增加注冊中心配置。

??Dubbo工作流程如下圖。

??通信過程分為以下六步

容器負責啟動,加載,運行服務提供者。服務提供者在啟動時向注冊中心注冊自己提供的服務。服務消費者在啟動時向注冊中心訂閱自己所需的服務。注冊中心返回服務提供者地址列表給服務消費者,如果有變更,注冊中心將基于長連接推送變更數(shù)據(jù)給服務消費者。注冊中心是Dubbo最為核心、基礎及重要的模塊,它提供了服務注冊與服務發(fā)現(xiàn),將服務提供者的信息注冊到注冊中心中,將服務提供者與服務消費者的信息透明化,實現(xiàn)服務提供者與服務消費者的解耦。服務消費者只需要從注冊中心獲取服務提供者的信息,比如ip和port,服務消費者就可以調用服務提供者的服務,如果服務提供者的信息發(fā)生更改,只需要刷新注冊中心里的服務提供者信息,服務消費者就可以感應到這種改變。服務消費者從服務提供者地址列表中,會基于軟負載均衡算法選擇一臺服務提供者進行調用,如果調用失敗,再選另一臺調用。服務消費者和服務提供者在內存中累計調用次數(shù)和調用時間,定時每分鐘發(fā)送一次統(tǒng)計數(shù)據(jù)到監(jiān)控中心。

柚子快報邀請碼778899分享:rpc 什么是Dubbo?

http://yzkb.51969.com/

好文閱讀

評論可見,查看隱藏內容

本文內容根據(jù)網(wǎng)絡資料整理,出于傳遞更多信息之目的,不代表金鑰匙跨境贊同其觀點和立場。

轉載請注明,如有侵權,聯(lián)系刪除。

本文鏈接:http://m.gantiao.com.cn/post/19230324.html

發(fā)布評論

您暫未設置收款碼

請在主題配置——文章設置里上傳

掃描二維碼手機訪問

文章目錄