日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) >

dubbo provider异步_dubbo九连问你知道多少?

發(fā)布時(shí)間:2024/4/13 44 豆豆
生活随笔 收集整理的這篇文章主要介紹了 dubbo provider异步_dubbo九连问你知道多少? 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

以下文章來(lái)源于公眾號(hào)“程序員求職之路”

1.Dubbo 支持哪些協(xié)議,每種協(xié)議的應(yīng)用場(chǎng)景,優(yōu)缺點(diǎn)?

dubbo:單一長(zhǎng)連接和NIO異步通訊,適合大并發(fā)小數(shù)據(jù)量的服務(wù)調(diào)用,以及消費(fèi)者遠(yuǎn)大于提供者。傳輸協(xié)議TCP,異步,Hessian序列化;

rmi:采用 JDK 標(biāo)準(zhǔn)的rmi協(xié)議實(shí)現(xiàn),傳輸參數(shù)和返回參數(shù)對(duì)象需要實(shí)現(xiàn) Serializable接口,使用java標(biāo)準(zhǔn)序列化機(jī)制,使用阻塞式短連接,傳輸數(shù) 據(jù)包大小混合,消費(fèi)者和提供者個(gè)數(shù)差不多,可傳文件,傳輸協(xié)議TCP。多個(gè)短連接,TCP 協(xié)議傳輸,同步傳輸,適用常規(guī)的遠(yuǎn)程服務(wù)調(diào)用和 rmi 互操作。在依賴低版本的Common-Collections包,java序列化存在安全漏洞;

webservice:基于WebService的遠(yuǎn)程調(diào)用協(xié)議,集成CXF實(shí)現(xiàn),提供和 原生WebService的互操作。多個(gè)短連接,基于HTTP傳輸,同步傳輸,適 用系統(tǒng)集成和跨語(yǔ)言調(diào)用;

http:基于Http表單提交的遠(yuǎn)程調(diào)用協(xié)議,使用Spring的HttpInvoke 實(shí) 現(xiàn)。多個(gè)短連接,傳輸協(xié)議HTTP,傳入?yún)?shù)大小混合,提供者個(gè)數(shù)多于消 費(fèi)者,需要給應(yīng)用程序和瀏覽器 JS 調(diào)用;

hessian:集成Hessian服務(wù),基于HTTP通訊,采用Servlet暴露服務(wù), Dubbo 內(nèi)嵌 Jetty 作為服務(wù)器時(shí)默認(rèn)實(shí)現(xiàn),提供與Hession服務(wù)互操作。多 個(gè)短連接,同步HTTP傳輸,Hessian序列化,傳入?yún)?shù)較大,提供者大于 消費(fèi)者,提供者壓力較大,可傳文件;

memcache:基于memcached實(shí)現(xiàn)的RPC協(xié)議 ;

redis:基于redis實(shí)現(xiàn)的RPC協(xié)議。

2.Dubbo 超時(shí)時(shí)間怎樣設(shè)置?

Dubbo超時(shí)時(shí)間設(shè)置有兩種方式:

服務(wù)提供者端設(shè)置超時(shí)時(shí)間,在Dubbo的用戶文檔中,推薦如果能在服務(wù)端多配置就盡量多配置,因?yàn)榉?wù)提供者比消費(fèi)者更清楚自己提供的服務(wù)特性。

服務(wù)消費(fèi)者端設(shè)置超時(shí)時(shí)間,如果在消費(fèi)者端設(shè)置了超時(shí)時(shí)間,以消費(fèi)者端 為主,即優(yōu)先級(jí)更高。因?yàn)榉?wù)調(diào)用方設(shè)置超時(shí)時(shí)間控制性更靈活。如果消 費(fèi)方超時(shí),服務(wù)端線程不會(huì)定制,會(huì)產(chǎn)生警告。

3.Dubbo 有些哪些注冊(cè)中心?

Multicast 注冊(cè)中心:Multicast注冊(cè)中心不需要任何中心節(jié)點(diǎn),只要廣播地 址,就能進(jìn)行服務(wù)注冊(cè)和發(fā)現(xiàn)。基于網(wǎng)絡(luò)中組播傳輸實(shí)現(xiàn);

Zookeeper注冊(cè)中心:基于分布式協(xié)調(diào)系統(tǒng)Zookeeper實(shí)現(xiàn),采用Zookeeper的watch機(jī)制實(shí)現(xiàn)數(shù)據(jù)變更;

redis 注冊(cè)中心:基于 redis 實(shí)現(xiàn),采用 key/Map 存儲(chǔ),住 key 存儲(chǔ)服務(wù)名 和類型,Map 中 key 存儲(chǔ)服務(wù) URL,value 服務(wù)過(guò)期時(shí)間。基于 redis 的 發(fā) 布/訂閱模式通知數(shù)據(jù)變更;

Simple 注冊(cè)中心

4.Dubbo 集群的負(fù)載均衡有哪些策略?

Dubbo 提供了常見(jiàn)的集群策略實(shí)現(xiàn),并預(yù)擴(kuò)展點(diǎn)予以自行實(shí)現(xiàn)。

Random LoadBalance: 隨機(jī)選取提供者策略,有利于動(dòng)態(tài)調(diào)整提供者權(quán)重。截面碰撞率高,調(diào)用次數(shù)越多,分布越均勻;

RoundRobin LoadBalance: 輪循選取提供者策略,平均分布,但是存在請(qǐng)求 累積的問(wèn)題;

LeastActive LoadBalance: 最少活躍調(diào)用策略,解決慢提供者接收更少的請(qǐng)求;

ConstantHash LoadBalance: 一致性 Hash 策略,使相同參數(shù)請(qǐng)求總是發(fā)到 同一提供者,一臺(tái)機(jī)器宕機(jī),可以基于虛擬節(jié)點(diǎn),分?jǐn)傊疗渌峁┱?#xff0c;避免引起提供者的劇烈變動(dòng);

5.Dubbo 是什么?

Dubbo 是一個(gè)分布式、高性能、透明化的 RPC 服務(wù)框架,提供服務(wù)自動(dòng) 注冊(cè)、自動(dòng)發(fā)現(xiàn)等高效服務(wù)治理方案,可以和 Spring 框架無(wú)縫集成。

6.Dubbo 的主要應(yīng)用場(chǎng)景?

透明化的遠(yuǎn)程方法調(diào)用,就像調(diào)用本地方法一樣調(diào)用遠(yuǎn)程方法, 只需簡(jiǎn)單配置,沒(méi)有任何 API 侵入。

軟負(fù)載均衡及容錯(cuò)機(jī)制,可在內(nèi)網(wǎng)替代 F5 等硬件負(fù)載均衡器, 降低成本,減少單點(diǎn)。

服務(wù)自動(dòng)注冊(cè)與發(fā)現(xiàn),不再需要寫(xiě)死服務(wù)提供方地址,注冊(cè)中心 基于接口名查詢服務(wù)提供者的 IP 地址,并且能夠平滑添加或刪 除服務(wù)提供者。

7.Dubbo 的核心功能?

主要就是如下 3 個(gè)核心功能:

Remoting:網(wǎng)絡(luò)通信框架,提供對(duì)多種 NIO 框架抽象封裝,包括“同步轉(zhuǎn)異步”和“請(qǐng)求-響應(yīng)”模式的信息交換方式。

Cluster:服務(wù)框架,提供基于接口方法的透明遠(yuǎn)程過(guò)程調(diào)用,包括多協(xié)議支 持,以及軟負(fù)載均衡,失敗容錯(cuò),地址路由,動(dòng)態(tài)配置等集群支持。

Registry:服務(wù)注冊(cè),基于注冊(cè)中心目錄服務(wù),使服務(wù)消費(fèi)方能動(dòng)態(tài)的查找 服務(wù)提供方,使地址透明,使服務(wù)提供方可以平滑增加或減少機(jī)器。

8.Dubbo 的核心組件?

9. Dubbo 服務(wù)注冊(cè)與發(fā)現(xiàn)的流程?

流程說(shuō)明:

Provider(提供者)綁定指定端口并啟動(dòng)服務(wù)

指供者連接注冊(cè)中心,并發(fā)本機(jī) IP、端口、應(yīng)用信息和提供服務(wù)信息發(fā)送至注冊(cè)中心存儲(chǔ)

Consumer(消費(fèi)者),連接注冊(cè)中心 ,并發(fā)送應(yīng)用信息、所求服務(wù)信息至注冊(cè)中心 ;

注冊(cè)中心根據(jù)消費(fèi)者所求服務(wù)信息匹配對(duì)應(yīng)的提供者列表發(fā)送至 Consumer 應(yīng)用緩存。

Consumer 在發(fā)起遠(yuǎn)程調(diào)用時(shí)基于緩存的消費(fèi)者列表?yè)衿湟话l(fā)起調(diào)用。Provider 狀態(tài)變更會(huì)實(shí)時(shí)通知注冊(cè)中心、在由注冊(cè)中心實(shí)時(shí)推送至 Consumer設(shè)計(jì)的原因:

Consumer 與 Provider 解偶,雙方都可以橫向增減節(jié)點(diǎn)數(shù)。

注冊(cè)中心對(duì)本身可做對(duì)等集群,可動(dòng)態(tài)增減節(jié)點(diǎn),并且任意一臺(tái)宕掉 后,將自動(dòng)切換到另一臺(tái)去中心化,雙方不直接依懶注冊(cè)中心,即使注冊(cè)中心全部宕機(jī)短時(shí)間7內(nèi)也不會(huì)影響服務(wù)的調(diào)用 。

服務(wù)提供者無(wú)狀態(tài),任意一臺(tái)宕掉后,不影響使用。

你所想、知你所需,后臺(tái)回復(fù)「面試題庫(kù)」,做足功課為自己的面試交出滿意答卷吧。

http://weixin.qq.com/r/3R3G3jXEeWgGrXG990jP (二維碼自動(dòng)識(shí)別)

總結(jié)

以上是生活随笔為你收集整理的dubbo provider异步_dubbo九连问你知道多少?的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。