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

首頁綜合 正文
目錄

柚子快報(bào)邀請(qǐng)碼778899分享:后端 Dubbo基礎(chǔ)知識(shí)

柚子快報(bào)邀請(qǐng)碼778899分享:后端 Dubbo基礎(chǔ)知識(shí)

http://yzkb.51969.com/

1、什么是 Dubbo ? Dubbo是基于Java的高性能輕量級(jí)的RPC分布式服務(wù)框架,致力于提供透明化的RPC遠(yuǎn)程服務(wù)調(diào)用方案,以及SOA服務(wù)治理方案?,F(xiàn)已成為Apache 基金會(huì)孵化項(xiàng)目。 2、為什么要使用Dubbo? 背景: 隨著互聯(lián)網(wǎng)的快速發(fā)展,Web應(yīng)用程序的規(guī)模不斷擴(kuò)大,最后我們發(fā)現(xiàn)傳統(tǒng)的垂直體系結(jié)構(gòu)(整體式)已無法解決。分布式服務(wù)體系結(jié)構(gòu)和流計(jì)算體系結(jié)構(gòu)勢(shì)在必行,迫切需要一個(gè)治理系統(tǒng)來確保體系結(jié)構(gòu)的有序發(fā)展。 ◆ 開源免費(fèi) ◆ 一些核心業(yè)務(wù)被提取并作為獨(dú)立的服務(wù)提供服務(wù),逐漸形成一個(gè)穩(wěn)定的服務(wù)中心,這樣前端應(yīng)用程序就可以更好地響應(yīng)變化多端的市場(chǎng)需求 ◆ 分布式框架能承受更大規(guī)模的流量 ◆ 內(nèi)部基于netty性能高 3、Dubbo提供了哪3個(gè)關(guān)鍵功能? (1) 基于接口的遠(yuǎn)程調(diào)用:網(wǎng)絡(luò)通信框架,提供對(duì)多種NIO框架抽象封裝,包括“同步轉(zhuǎn)異步”和“請(qǐng)求-響應(yīng)”模式的信息交換方式。 (2) 容錯(cuò)和負(fù)載均衡:提供基于接口方法的透明遠(yuǎn)程過程調(diào)用,包括多協(xié)議支持,以及軟負(fù)載均衡,失敗容錯(cuò),地址路由,動(dòng)態(tài)配置等集群支持。 (3) 自動(dòng)服務(wù)注冊(cè)和發(fā)現(xiàn):服務(wù)注冊(cè),基于注冊(cè)中心目錄服務(wù),使服務(wù)消費(fèi)方能動(dòng)態(tài)的查找服務(wù)提供方,使地址透明,使服務(wù)提供方可以平滑增加或減少機(jī)器。 4、Dubbo核心組件: (1) 生產(chǎn)者(provider) 服務(wù)端,生產(chǎn)內(nèi)容,生產(chǎn)前需要依賴容器(先啟動(dòng)容器) (2) 消費(fèi)者(consumer) 客戶端,從注冊(cè)中心獲取到方法,可以調(diào)用生產(chǎn)者中的方法。 (3) 注冊(cè)中心(registry) 生產(chǎn)者在此注冊(cè)并發(fā)布內(nèi)容,消費(fèi)者在此訂閱并接收發(fā)布的內(nèi)容。 (4) 監(jiān)控中心(Monitor) 統(tǒng)計(jì)服務(wù)的調(diào)用次數(shù)和調(diào)用時(shí)間 (5) 容器(container) 服務(wù)運(yùn)行容器,生產(chǎn)者在啟動(dòng)執(zhí)行的時(shí)候,必須依賴容器才能正常啟動(dòng)(默認(rèn)依賴的是spring容器) 5、Dubbo 服務(wù)注冊(cè)流程如下: (1) 服務(wù)容器負(fù)責(zé)啟動(dòng),加載,運(yùn)行服務(wù)提供者。 (2) 服務(wù)提供者在啟動(dòng)時(shí),向注冊(cè)中心注冊(cè)自己提供的服務(wù)。 (3) 服務(wù)消費(fèi)者在啟動(dòng)時(shí),向注冊(cè)中心訂閱自己所需的服務(wù)。 (4) 注冊(cè)中心返回服務(wù)提供者地址列表給消費(fèi)者,如果有變更,注冊(cè)中心將基于長連接推送變更數(shù)據(jù)給消費(fèi)者。 (5) 服務(wù)消費(fèi)者,從提供者地址列表中,基于軟負(fù)載均衡算法,選一臺(tái)提供者進(jìn)行調(diào)用,如果調(diào)用失敗再選另一臺(tái)調(diào)用。 (6) 服務(wù)消費(fèi)者和提供者,在內(nèi)存中累計(jì)調(diào)用次數(shù)和調(diào)用時(shí)間,定時(shí)每分鐘發(fā)送一次統(tǒng)計(jì)數(shù)據(jù)到監(jiān)控中心。 服務(wù)注冊(cè)流程圖如下: 6、Dubbo架構(gòu)的特點(diǎn): 連通性、健壯性、伸縮性、以及向未來架構(gòu)的升級(jí)性。 7、對(duì) jdk 的最小版本需求 jdk1.6+ 8、注冊(cè)中心的選擇? 一般來說選中Zookeeper更穩(wěn)定更合適。 除了 Zookeeper 還有 Redis 注冊(cè)中心、Multicast 注冊(cè)中心、Simple 注冊(cè)中心。 9、Dubbo的核心配置及用途: (1) 服務(wù)配置(dubbo:service/):用于暴露一個(gè)服務(wù),定義服務(wù)的元信息,一個(gè)服務(wù)可以用多個(gè)協(xié)議暴露,一個(gè)服務(wù)也可以注冊(cè)到多個(gè)注冊(cè)中心。 (2) 引用配置(dubbo:reference/):用于創(chuàng)建一個(gè)遠(yuǎn)程服務(wù)代理,一個(gè)引用可以指向多個(gè)注冊(cè)中心。 (3) 協(xié)議配置(dubbo:protocol/):用于配置提供服務(wù)的協(xié)議信息,協(xié)議由提供方指定,消費(fèi)方被動(dòng)接受。 (4) 應(yīng)用配置(dubbo:application/):用于配置當(dāng)前應(yīng)用信息,不管該應(yīng)用是提供者還是消費(fèi)者。 (5) 模塊配置(dubbo:module/):用于配置當(dāng)前模塊信息,可選。 (6) 注冊(cè)中心配置(dubbo:registry/):用于配置連接注冊(cè)中心相關(guān)信息 (7) 監(jiān)控中心配置(dubbo:monitor/):用于配置連接監(jiān)控中心相關(guān)信息,可選。 (8) 提供方配置(dubbo:provider/):當(dāng) ProtocolConfig 和 ServiceConfig 某屬性沒有配置時(shí),采用此缺省值,可選。 (9) 消費(fèi)方配置(dubbo:consumer/):當(dāng) ReferenceConfig 某屬性沒有配置時(shí),采用此缺省值,可選。 (10) 方法配置(dubbo:method/):用于 ServiceConfig 和 ReferenceConfig 指定方法級(jí)的配置信息。 (11) 參數(shù)配置(dubbo:argument/):用于指定方法參數(shù)配置。 10、配置優(yōu)先級(jí)規(guī)則: 優(yōu)先級(jí)從高到低: ◆ JVM -D參數(shù),當(dāng)你部署或者啟動(dòng)應(yīng)用時(shí),它可以輕易地重寫配置,比如,改變dubbo協(xié)議端口; ◆ XML, XML中的當(dāng)前配置會(huì)重寫dubbo.properties中的; ◆ Properties,默認(rèn)配置,僅僅作用于以上兩者沒有配置時(shí); 11、如何用代碼方式繞過注冊(cè)中心點(diǎn)對(duì)點(diǎn)直連?

ReferenceConfig reference = new ReferenceConfig);

//此實(shí)例很重,封裝了與注冊(cè)中心的連接以及與提供者的連接,請(qǐng)自行緩存,否則可能造成內(nèi)存和連接泄漏

//如果點(diǎn)對(duì)點(diǎn)直連,可以用reference.setUrl()指定目標(biāo)地址,設(shè)置url后將繞過注冊(cè)中心,

//其中,協(xié)議對(duì)應(yīng)provider.setProtocol()的值,端口對(duì)應(yīng)provider.setPort()的值

//路徑對(duì)應(yīng)service.setPath()的值,如果未設(shè)置path,缺省path為接口名

reference.setUrl("dubbo://10.20.130.230:20880/com.xxx.XxxService");

12、Dubbo 配置來源有如下4種: ◆ JVM System Properties,-D參數(shù) ◆ Externalized Configuration,外部化配置 ◆ ServiceConfig、ReferenceConfig 等編程接口采集的配置 ◆ 本地配置文件 dubbo.properties 13、如何禁用某個(gè)服務(wù)的啟動(dòng)檢查?

14、Dubbo 負(fù)載均衡策略?默認(rèn)是? ◆ 隨機(jī)負(fù)載平衡(默認(rèn)) ◆ RoundRobin 負(fù)載平衡 ◆ 最小活動(dòng)負(fù)載平衡 ◆ 一致的哈希負(fù)載平衡 15、上線兼容老版本 多版本號(hào)(version) 16、開發(fā)測(cè)試環(huán)境,想繞過注冊(cè)中心如何配置? ◆ XML

◆ -D

iava -Dcom.alibaba.xxx.XxxService=dubbo://localhost:20890

◆ properties

java -Ddubbo.resolve.file=xxx.properties

com.alibaba.xxx.XxxService=dubbo://localhost:20890

17、Dubbo 目前支持以下容錯(cuò)策略: (1) 失敗自動(dòng)切換(Failover Cluster):調(diào)用失敗后基于retries=“2” 屬性重試其它服務(wù)器(默認(rèn)) (2) 快速失敗(Failfast Cluster):快速失敗,只發(fā)起一次調(diào)用,失敗立即報(bào)錯(cuò)。 (3) 勿略失敗(Failsafe Cluster):失敗后勿略,不拋出異常給客戶端。 (4) 失敗重試(Failback Cluster):失敗自動(dòng)恢復(fù),后臺(tái)記錄失敗請(qǐng)求,定時(shí)重發(fā)。通常用于消息通知操作 (5) 并行調(diào)用(Forking Cluster): 只要一個(gè)成功即返回,并行調(diào)用指定數(shù)量機(jī)器,可通過 forks=“2” 來設(shè)置最大并行數(shù)。 (6) 廣播調(diào)用:廣播調(diào)用所有提供者,逐個(gè)調(diào)用,任意一臺(tái)報(bào)錯(cuò)則報(bào)錯(cuò)。 18、Dubbo有幾種配置方式? ◆ Spring ◆ Java API 19、Dubbo有哪些協(xié)議?推薦? ◆ dubbo://(推薦) ◆ rmi:// ◆ hessian:// ◆ http:// ◆ webservice:// ◆ thrift:// ◆ memcached:// ◆ redis:// ◆ rest:// 20、Dubbo使用什么通信框架? dubbo 使用 netty 21、dubbo協(xié)議默認(rèn)端日號(hào)?http協(xié)議默認(rèn)端日?hessian?rmi? ◆ dubbo:20880 ◆ http:80 ◆ hessian:80 ◆ rmi:80 22、Dubbo默認(rèn)序列化框架?其他的你還知道? ◆ dubbo協(xié)議缺省為 hessian2 ◆ rmi 協(xié)議缺省為 java ◆ http 協(xié)議缺省為 json 23、一個(gè)服務(wù)有多重實(shí)現(xiàn)時(shí),如何處理? 可以用group分組,服務(wù)提供方和消費(fèi)放都指定同一個(gè)group。 24、Dubbo 服務(wù)調(diào)用默認(rèn)是阻寒的?還有其他的? 默認(rèn)是同步等待結(jié)果阻塞的,同時(shí)也支持異步調(diào)用。 Dubbo 是基于 NIO 的非阻塞實(shí)現(xiàn)并行調(diào)用,客戶端不需要啟動(dòng)多線程即可完成并行調(diào)用多個(gè)遠(yuǎn)程服務(wù),相對(duì)多線程開銷較小,異步調(diào)用會(huì)返回一個(gè) Future 對(duì)象。 25、Dubbo服務(wù)追蹤解決方案? ◆ Zipkin ◆ Pinpoint ◆ SkyWalking 26、Dubbo不維護(hù)了嗎?Dubbo 和Dubbox有什么區(qū)別? 現(xiàn)在進(jìn)入了Apache,由apache維護(hù)。 Dubbox是當(dāng)當(dāng)?shù)臄U(kuò)展項(xiàng)目。 27、Dubbox有什么新功能? ◆ 支持REST風(fēng)格遠(yuǎn)程調(diào)用(HTTP+JSON/XML) ◆ 支持基于Kryo 和 FST的Java高效序列化實(shí)現(xiàn) ◆ 支持基于嵌入式Tomcat的HTTP remoting 體系 ◆ 升級(jí)Spring ◆ 升級(jí)ZooKeeper客戶端 28、io線程池大小默認(rèn)? cpu 個(gè)數(shù)+1 29、dubbo://協(xié)議適合什么樣的服務(wù)調(diào)用? ◆ 采用單一長鏈接和NIO異步通訊,適用于小數(shù)量大并發(fā)的服務(wù)調(diào)用,以及服務(wù)消費(fèi)者機(jī)器數(shù)遠(yuǎn)大于服務(wù)提供者機(jī)器數(shù)的情況。 ◆ 不適合傳送大數(shù)據(jù)量的服務(wù),比如傳文件,傳視頻等,除非請(qǐng)求量很低。 30、自動(dòng)剔除服務(wù)什么原理? zookeeper臨時(shí)節(jié)點(diǎn),會(huì)話保持原理。 31、從 2.0.5 版本開始,dubbo支持通過x命令來進(jìn)行服務(wù)治理? telnet 32、如何用命令查看服務(wù)列表? telnet localhost 20880 進(jìn)入命令行。然后執(zhí)行 1s相關(guān)命令: ls: 顯示服務(wù)列表 ls -l: 顯示服務(wù)詳細(xì)信息列表 ls XxxService: 顯示服務(wù)的方法列表 ls -l XxxService: 顯示服務(wù)的方法詳細(xì)信息列表 33、Dubbo 框架設(shè)計(jì)原理: 各層說明: ◆ confg 配置層:對(duì)外配置接口,以ServiceConfig,ReferenceConfig 為中心,可以直接初始化配置類,也可以通過 spring 解析配置生成配置類 ◆ proxy 服務(wù)代理層:服務(wù)接口透明代理,生成服務(wù)的客戶端Stub 和服務(wù)器端 Skeleton,以ServiceProxy為中心,擴(kuò)展接口為ProxyFactory ◆ registry 注冊(cè)中心層:封裝服務(wù)地址的注冊(cè)與發(fā)現(xiàn),以服務(wù) URL,為中心,擴(kuò)展接口為RegistryFactory,Registry,RegistryService ◆ cluster 路由層:封裝多個(gè)提供者的路由及負(fù)載均衡,并橋接注冊(cè)中心,以 Invoker 為中心,擴(kuò)展接為Cluster,Directory,Router, LoadBalance ◆ monitor 監(jiān)控層:RPC調(diào)用次數(shù)和調(diào)用時(shí)間監(jiān)控,以Statistics 為中心,擴(kuò)展接口為MonitorFactory,Monitor, MonitorService ◆ protocol 遠(yuǎn)程調(diào)用層:封裝 RPC調(diào)用,以 Invocation,Result 為中心,擴(kuò)展接口為 Protocol,Invoker,Exporter ◆ exchange 信息交換層:封裝請(qǐng)求響應(yīng)模式,同步轉(zhuǎn)異步,以 Request,Response 為中心,擴(kuò)展接口為Exchanger,ExchangeChannel,ExchangeClient,ExchangeServer ◆ transport 網(wǎng)絡(luò)傳輸層:抽象 mina 和 netty 為統(tǒng)一接口,以Message 為中心,擴(kuò)展接口為 ChannelTransporter, Client,Server,Codec ◆ serialize 數(shù)據(jù)序列化層:可復(fù)用的一些工具,擴(kuò)展接口為Serialization,0bjectInputObiectOutput,ThreadPool

柚子快報(bào)邀請(qǐng)碼778899分享:后端 Dubbo基礎(chǔ)知識(shí)

http://yzkb.51969.com/

精彩文章

評(píng)論可見,查看隱藏內(nèi)容

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

轉(zhuǎn)載請(qǐng)注明,如有侵權(quán),聯(lián)系刪除。

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

發(fā)布評(píng)論

您暫未設(shè)置收款碼

請(qǐng)?jiān)谥黝}配置——文章設(shè)置里上傳

掃描二維碼手機(jī)訪問

文章目錄