dubbo+zookeeper簡(jiǎn)單實(shí)例

https://www.imooc.com/article/21638
https://github.com/apache/incubator-dubbo/tree/master/dubbo-demo

http://dubbo.apache.org/books/dubbo-user-book/configuration/xml.html
http://dubbo.apache.org/books/dubbo-dev-book/

1、默認(rèn)使用的是什么通信框架宴抚,還有別的選擇嗎?

2、服務(wù)調(diào)用是阻塞的嗎臀防?

3强戴、一般使用什么注冊(cè)中心?還有別的選擇嗎?

4量蕊、默認(rèn)使用什么序列化框架,你知道的還有哪些艇挨?

5残炮、服務(wù)提供者能實(shí)現(xiàn)失效踢出是什么原理?

6缩滨、服務(wù)上線怎么不影響舊版本势就?

7、如何解決服務(wù)調(diào)用鏈過長的問題脉漏?

8苞冯、說說核心的配置有哪些?

9鸠删、dubbo推薦用什么協(xié)議抱完?

10、同一個(gè)服務(wù)多個(gè)注冊(cè)的情況下可以直連某一個(gè)服務(wù)嗎刃泡?

11巧娱、畫一畫服務(wù)注冊(cè)與發(fā)現(xiàn)的流程圖

12碉怔、集群容錯(cuò)怎么做?

13禁添、在使用過程中都遇到了些什么問題撮胧?

14、dubbo和dubbox之間的區(qū)別老翘?

15芹啥、你還了解別的分布式框架嗎?

分布式服務(wù)框架

1铺峭、說一下dubbo的實(shí)現(xiàn)過程注冊(cè)中心掛了可以繼續(xù)通信嗎??

2墓怀、zk原理知道嗎zk都可以干什么Paxos算法知道嗎?說一下原理和實(shí)現(xiàn)??

3、dubbo支持哪些序列化協(xié)議?hessian 說一下hessian的數(shù)據(jù)結(jié)構(gòu)PB知道嗎為啥PB效率是最高的啊??

4卫键、知道netty嗎'netty可以干嘛呀NIO,BIO,AIO 都是什么啊有什么區(qū)別啊?

5傀履、dubbo復(fù)制均衡策略和高可用策略都有哪些啊動(dòng)態(tài)代理策略呢?

6、為什么要進(jìn)行系統(tǒng)拆分啊拆分不用dubbo可以嗎'dubbo和thrift什么區(qū)別啊?

Dubbo得通訊協(xié)議
第一莉炉、dubbo
默許得钓账,單純長銜接、NIO異步通訊絮宁。合適幾據(jù)量小梆暮,伴發(fā)大得場(chǎng)景,消耗者幾量大于參考者得處境绍昂。
傳輸個(gè)大文件啦粹、視頻、哪些得而且為不能用了治专。
很多普遍得平常類型用這種就夠了卖陵。
第二、RMI
無疑的JDK規(guī)范得長途調(diào)用協(xié)議张峰,閉塞式短銜接&JDK規(guī)范得序列化方法泪蔫。
輸出輸入得幾據(jù)包巨細(xì)同化,消耗者或者參考者幾量不好少量喘批,為相對(duì)恰當(dāng)?shù)昧萌伲軌騻魑募?br> 各自在類型中沒用過,不大關(guān)心饶深。
第三餐曹、hessian
Hessian選取HTTP通訊,因Servlet對(duì)外參考辦事敌厘,在Dubbo中運(yùn)用Jetty干辦事器台猴。非常合適傳輸頁面、文件。
第四饱狂、Http
這種沒什么棒陳訴得曹步,關(guān)鍵為合適還有給APP、網(wǎng)頁得Ajax參考辦事休讳。我在類型中到?jīng)]這么用過讲婚,平常那種處境均為干脆用SpringMVC打成war包,經(jīng)過Keepalived+Nginx+Tomcat采用高可用或者負(fù)載都衡俊柔。
第五筹麸、WebService
老牌得幾據(jù)交流措施了,SOAP協(xié)議雏婶,CXF框架完成物赶,2010年此后我在類型中就沒用過了。
第六留晚、thrift
Facebook得RPC框架块差,Dubbo加了少許頭消息,不鼓勵(lì)null值倔丈。
第七、緩存
Dubbo鼓勵(lì)緩存幾據(jù)庫Memcached状蜗、Redis需五。
通訊協(xié)議比較
注冊(cè)核心
保舉為Zookeeper,另外例如下:
第一轧坎、Multicast宏邮,不該核心,僅僅節(jié)點(diǎn)得播送地點(diǎn)為同樣得缸血,均能夠彼此發(fā)覺蜜氨,這種同樣便是小領(lǐng)域使用,和開辟得時(shí)候候用捎泻。
程序?yàn)椋?br> A)參考者發(fā)動(dòng)時(shí)候播送地點(diǎn)飒炎。
B)消耗者發(fā)動(dòng)時(shí)候播送定閱拜托。
C)參考者收獲定閱拜托為笆豁,單播或組播本人得地點(diǎn)給消耗者郎汪。
D)消耗者收獲參考者地點(diǎn),采用RPC調(diào)用闯狱。
第二煞赢、Redis,關(guān)鍵為用到了Redis得公布/定閱形式(這種我在類型好用于信息行列哄孤,可參瞧我以前得內(nèi)容《基于Redis得信息行列之公布定閱形式》照筑,還有關(guān)聯(lián)參閱:《Redis再次:其次:9單機(jī)版裝置》、《基于Redis得信息行列之消費(fèi)消耗者形式(來日誥日寫公布/定閱形式)》)。應(yīng)該求每個(gè)辦事器功夫一定保留一樣凝危,如果須要盡心跳監(jiān)察臟幾據(jù)波俄,對(duì)辦事器而且為有必定負(fù)擔(dān)得。
程序?yàn)椋?br> A)參考者發(fā)動(dòng)時(shí)候提交本人得地點(diǎn)媒抠,發(fā)生注冊(cè)事情弟断。
B)消耗者發(fā)動(dòng)時(shí)候定閱注冊(cè)&排除注冊(cè)事情,提交本人得地點(diǎn)趴生。
C)消耗者收獲注冊(cè)或者排除注冊(cè)事情后阀趴,到獲得參考者地點(diǎn)列表。
D)監(jiān)控核心發(fā)動(dòng)時(shí)候定閱注冊(cè)&排除注冊(cè)苍匆、定閱&排除定閱事情刘急。
E)監(jiān)控核心收獲注冊(cè)&排除注冊(cè)事情后,到獲得參考者地點(diǎn)列表浸踩。
F)監(jiān)控核心收獲定閱&排除定閱事情后叔汁,到獲得消耗者地點(diǎn)列表。
第三检碗、Simple注冊(cè)据块、監(jiān)控核心,無疑的Dubbo本人完成單個(gè)辦事折剃。
第四另假、Zookeeper,程序例如下:
A)參考者發(fā)動(dòng)時(shí)候?qū)戇M(jìn)本人得URL怕犁。
B)消耗者發(fā)動(dòng)時(shí)候定閱參考者URL列表边篮,并寫進(jìn)本人得URL。
C)監(jiān)控核心定閱全部消耗者參考者URL目次奏甫。
參考者怎么完成無效踢出
由Zookeeper注冊(cè)核心是例戈轿,有單個(gè)heartbeat_monitor心臟跳動(dòng)監(jiān)察線程,查驗(yàn)參考者可否生存阵子,假如反省不到心臟跳動(dòng)思杯,就把參考者從參考者列表中移除,反之參加款筑。
在不危害舊版此得處境下晉級(jí)新版此辦事
運(yùn)用Dubbo就相對(duì)便利智蝠,如果在設(shè)置參考者或者辦事者得時(shí)候候能夠規(guī)定版此號(hào)。
辦事調(diào)用鏈太長
而且為必須聚集營業(yè)來梳理模塊奈梳,只要某個(gè)營業(yè)操縱得調(diào)用鏈太長得時(shí)候候杈湾,還得思考把這一塊整合一下。
Dubbo中心設(shè)置
dubbo:applicationname使用名
dubbo:registry注冊(cè)核心
dubbo:protocol運(yùn)用協(xié)媾和端口
dubbo:reference定閱得辦事接口check發(fā)動(dòng)時(shí)候反省辦事可否可用version多版此
dubbo:service參考者cluster容錯(cuò)機(jī)理retries鎩羽重試多次loadbalance負(fù)載算法
可否能夠直連參考者
能夠攘须,在dubbo:reference經(jīng)過設(shè)置url干脆指引某個(gè)參考者漆撞,多地點(diǎn)用逗號(hào)分離。
辦事注冊(cè)和發(fā)覺得程序圖
辦事注冊(cè)和發(fā)覺得程序圖
集群容錯(cuò)
這種在我得《Dubbo消耗者參考者簡(jiǎn)易案例》中有描繪,摘抄例如下:
默許得failover浮驳,然后加之retries悍汛,象征消耗者調(diào)用參考者呈現(xiàn)變異時(shí)候,自行切換至会,默許試兩次离咐。
failfast,鎩羽了就報(bào)變異奉件,關(guān)鍵為應(yīng)用非等冪性得寫操縱宵蛀。固然這種同樣等價(jià)于failover,retres=0县貌。
failsafe术陶,鎩羽就鎩羽了,同樣不報(bào)變異煤痕,應(yīng)用少許不首要得操縱梧宫,例如寫個(gè)不首要得日記哪些得,錯(cuò)個(gè)第一摆碉、2條得不危害塘匣。
failback,鎩羽了重發(fā)巷帝,例如推送馆铁。
forking,調(diào)用全部參考者锅睛,誰最早前往成果就用誰得,這種太耗能源了历谍。
broadcast现拒,調(diào)用全部參考者,單個(gè)報(bào)錯(cuò)就報(bào)錯(cuò)望侈,這種關(guān)鍵為應(yīng)用告知參考者革新緩存啊印蔬,此地能源之類得操縱。
關(guān)聯(lián)參閱:Dubbo辦理把握臺(tái)裝置脱衙、ZooKeeper單機(jī)版裝置設(shè)置--集群版背面然后發(fā)侥猬、ZooKeeper集群裝置設(shè)置運(yùn)用
1 面試題:Dubbo中zookeeper做注冊(cè)中心,如果注冊(cè)中心集群都掛掉捐韩,發(fā)布者和訂閱者之間還能通信么退唠?
可以的,啟動(dòng)dubbo時(shí),消費(fèi)者會(huì)從zk拉取注冊(cè)的生產(chǎn)者的地址接口等數(shù)據(jù),緩存在本地鲜锚。每次調(diào)用時(shí)苛骨,按照本地存儲(chǔ)的地址進(jìn)行調(diào)用

注冊(cè)中心對(duì)等集群傻唾,任意一臺(tái)宕掉后臊恋,會(huì)自動(dòng)切換到另一臺(tái)
注冊(cè)中心全部宕掉冈钦,服務(wù)提供者和消費(fèi)者仍可以通過本地緩存通訊
服務(wù)提供者無狀態(tài)居凶,任一臺(tái) 宕機(jī)后滩愁,不影響使用
服務(wù)提供者全部宕機(jī)躯喇,服務(wù)消費(fèi)者會(huì)無法使用,并無限次重連等待服務(wù)者恢復(fù)
2 dubbo連接注冊(cè)中心和直連的區(qū)別
在開發(fā)及測(cè)試環(huán)境下硝枉,經(jīng)常需要繞過注冊(cè)中心廉丽,只測(cè)試指定服務(wù)提供者,這時(shí)候可能需要點(diǎn)對(duì)點(diǎn)直連檀咙,
點(diǎn)對(duì)點(diǎn)直聯(lián)方式雅倒,將以服務(wù)接口為單位,忽略注冊(cè)中心的提供者列表弧可,

服務(wù)注冊(cè)中心蔑匣,動(dòng)態(tài)的注冊(cè)和發(fā)現(xiàn)服務(wù),使服務(wù)的位置透明棕诵,并通過在消費(fèi)方獲取服務(wù)提供方地址列表裁良,實(shí)現(xiàn)軟負(fù)載均衡和Failover, 注冊(cè)中心返回服務(wù)提供者地址列表給消費(fèi)者校套,如果有變更价脾,注冊(cè)中心將基于長連接推送變更數(shù)據(jù)給消費(fèi)者。
服務(wù)消費(fèi)者笛匙,從提供者地址列表中侨把,基于軟負(fù)載均衡算法,選一臺(tái)提供者進(jìn)行調(diào)用妹孙,如果調(diào)用失敗秋柄,再選另一臺(tái)調(diào)用。注冊(cè)中心負(fù)責(zé)服務(wù)地址的注冊(cè)與查找蠢正,相當(dāng)于目錄服務(wù)骇笔,服務(wù)提供者和消費(fèi)者只在啟動(dòng)時(shí)與注冊(cè)中心交互,注冊(cè)中心不轉(zhuǎn)發(fā)請(qǐng)求嚣崭,服務(wù)消費(fèi)者向注冊(cè)中心獲取服務(wù)提供者地址列表笨触,并根據(jù)負(fù)載算法直接調(diào)用提供者,注冊(cè)中心雹舀,服務(wù)提供者芦劣,服務(wù)消費(fèi)者三者之間均為長連接,監(jiān)控中心除外说榆,注冊(cè)中心通過長連接感知服務(wù)提供者的存在持寄,服務(wù)提供者宕機(jī)源梭,注冊(cè)中心將立即推送事件通知消費(fèi)者
注冊(cè)中心和監(jiān)控中心全部宕機(jī),不影響已運(yùn)行的提供者和消費(fèi)者稍味,消費(fèi)者在本地緩存了提供者列表
注冊(cè)中心和監(jiān)控中心都是可選的废麻,服務(wù)消費(fèi)者可以直連服務(wù)提供者

3、Dubbo在安全機(jī)制方面是如何解決的
Dubbo通過Token令牌防止用戶繞過注冊(cè)中心直連模庐,然后在注冊(cè)中心上管理授權(quán)烛愧。Dubbo還提供服務(wù)黑白名單,來控制服務(wù)所允許的調(diào)用方掂碱。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末怜姿,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子疼燥,更是在濱河造成了極大的恐慌沧卢,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,204評(píng)論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件醉者,死亡現(xiàn)場(chǎng)離奇詭異但狭,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)撬即,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,091評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門立磁,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人剥槐,你說我怎么就攤上這事唱歧。” “怎么了粒竖?”我有些...
    開封第一講書人閱讀 164,548評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵颅崩,是天一觀的道長。 經(jīng)常有香客問我蕊苗,道長挨摸,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,657評(píng)論 1 293
  • 正文 為了忘掉前任岁歉,我火速辦了婚禮,結(jié)果婚禮上膝蜈,老公的妹妹穿的比我還像新娘锅移。我一直安慰自己,他們只是感情好饱搏,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,689評(píng)論 6 392
  • 文/花漫 我一把揭開白布非剃。 她就那樣靜靜地躺著,像睡著了一般推沸。 火紅的嫁衣襯著肌膚如雪备绽。 梳的紋絲不亂的頭發(fā)上券坞,一...
    開封第一講書人閱讀 51,554評(píng)論 1 305
  • 那天,我揣著相機(jī)與錄音肺素,去河邊找鬼恨锚。 笑死,一個(gè)胖子當(dāng)著我的面吹牛倍靡,可吹牛的內(nèi)容都是我干的猴伶。 我是一名探鬼主播,決...
    沈念sama閱讀 40,302評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼塌西,長吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼他挎!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起捡需,我...
    開封第一講書人閱讀 39,216評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤办桨,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后站辉,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體呢撞,經(jīng)...
    沈念sama閱讀 45,661評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,851評(píng)論 3 336
  • 正文 我和宋清朗相戀三年庵寞,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了狸相。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,977評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡捐川,死狀恐怖脓鹃,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情古沥,我是刑警寧澤瘸右,帶...
    沈念sama閱讀 35,697評(píng)論 5 347
  • 正文 年R本政府宣布,位于F島的核電站岩齿,受9級(jí)特大地震影響太颤,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜盹沈,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,306評(píng)論 3 330
  • 文/蒙蒙 一龄章、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧乞封,春花似錦做裙、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,898評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至关串,卻和暖如春拧廊,著一層夾襖步出監(jiān)牢的瞬間监徘,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,019評(píng)論 1 270
  • 我被黑心中介騙來泰國打工吧碾, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留凰盔,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,138評(píng)論 3 370
  • 正文 我出身青樓滤港,卻偏偏與公主長得像廊蜒,于是被迫代替她去往敵國和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子溅漾,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,927評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容