dubbo能做什么
透明化的遠(yuǎn)程方法調(diào)用,就像調(diào)用本地方法一樣調(diào)用遠(yuǎn)程方法,只需簡(jiǎn)單配置,沒有任何API侵入。 軟負(fù)載均衡及容錯(cuò)機(jī)制,可在內(nèi)網(wǎng)替代F5等硬件負(fù)載均衡器,降低成本,減少單點(diǎn)。 服務(wù)自動(dòng)注冊(cè)與發(fā)現(xiàn),不再需要寫死服務(wù)提供方地址,注冊(cè)中心基于接口名查詢服務(wù)提供者的IP地址,并且能夠平滑添加或刪除服務(wù)提供者。
1、默認(rèn)使用的是什么通信框架,還有別的選擇嗎?
答:默認(rèn)也推薦使用 netty 框架,還有 mina。
2、服務(wù)調(diào)用是阻塞的嗎?
答:默認(rèn)是阻塞的,可以異步調(diào)用,沒有返回值的可以這么做。
3、一般使用什么注冊(cè)中心?還有別的選擇嗎?
答:推薦使用 zookeeper 注冊(cè)中心,還有 Multicast注冊(cè)中心, Redis注冊(cè)中心, Simple注冊(cè)中心.
ZooKeeper的節(jié)點(diǎn)是通過像樹一樣的結(jié)構(gòu)來進(jìn)行維護(hù)的,并且每一個(gè)節(jié)點(diǎn)通過路徑來標(biāo)示以及訪問。除此之外,每一個(gè)節(jié)點(diǎn)還擁有自身的一些信息,包括:數(shù)據(jù)、數(shù)據(jù)長(zhǎng)度、創(chuàng)建時(shí)間、修改時(shí)間等等。
4、默認(rèn)使用什么序列化框架,你知道的還有哪些?
答:默認(rèn)使用 Hessian 序列化,還有 Duddo、FastJson、Java 自帶序列化。 hessian是一個(gè)采用二進(jìn)制格式傳輸?shù)姆⻊?wù)框架,相對(duì)傳統(tǒng)soap web service,更輕量,更快速。
Hessian原理與協(xié)議簡(jiǎn)析:
http的協(xié)議約定了數(shù)據(jù)傳輸?shù)姆绞剑琱essian也無法改變太多:
1) hessian中client與server的交互,基于http-post方式。
2) hessian將輔助信息,封裝在http header中,比如“授權(quán)token”等,我們可以基于http-header來封裝關(guān)于“安全校驗(yàn)”“meta數(shù)據(jù)”等。hessian提供了簡(jiǎn)單的”校驗(yàn)”機(jī)制。
3) 對(duì)于hessian的交互核心數(shù)據(jù),比如“調(diào)用的方法”和參數(shù)列表信息,將通過post請(qǐng)求的body體直接發(fā)送,格式為字節(jié)流。
4) 對(duì)于hessian的server端響應(yīng)數(shù)據(jù),將在response中通過字節(jié)流的方式直接輸出。
hessian的協(xié)議本身并不復(fù)雜,在此不再贅言;所謂協(xié)議(protocol)就是約束數(shù)據(jù)的格式,client按照協(xié)議將請(qǐng)求信息序列化成字節(jié)序列發(fā)送給server端,server端根據(jù)協(xié)議,將數(shù)據(jù)反序列化成“對(duì)象”,然后執(zhí)行指定的方法,并將方法的返回值再次按照協(xié)議序列化成字節(jié)流,響應(yīng)給client,client按照協(xié)議將字節(jié)流反序列話成”對(duì)象”。
5、服務(wù)提供者能實(shí)現(xiàn)失效踢出是什么原理?
答:服務(wù)失效踢出基于 zookeeper 的臨時(shí)節(jié)點(diǎn)原理。
6、服務(wù)上線怎么不影響舊版本?
答:采用多版本開發(fā),不影響舊版本。在配置中添加version來作為版本區(qū)分
7、如何解決服務(wù)調(diào)用鏈過長(zhǎng)的問題?
答:可以結(jié)合 zipkin 實(shí)現(xiàn)分布式服務(wù)追蹤。
8、說說核心的配置有哪些?
核心配置有:
1) dubbo:service/
2) dubbo:reference/
3) dubbo:protocol/
4) dubbo:registry/
5) dubbo:application/
6) dubbo:provider/
7) dubbo:consumer/
8) dubbo:method/
9、dubbo 推薦用什么協(xié)議?
答:默認(rèn)使用 dubbo 協(xié)議。
10、同一個(gè)服務(wù)多個(gè)注冊(cè)的情況下可以直連某一個(gè)服務(wù)嗎?
答:可以直連,修改配置即可,也可以通過 telnet 直接某個(gè)服務(wù)。
11、dubbo 在安全機(jī)制方面如何解決的?
dubbo 通過 token 令牌防止用戶繞過注冊(cè)中心直連,然后在注冊(cè)中心管理授權(quán),dubbo 提供了黑白名單,控制服務(wù)所允許的調(diào)用方。
12、集群容錯(cuò)怎么做?
答:讀操作建議使用 Failover 失敗自動(dòng)切換,默認(rèn)重試兩次其他服務(wù)器。寫操作建議使用 Failfast 快速失敗,發(fā)一次調(diào)用失敗就立即報(bào)錯(cuò)。
官方微博:@全影網(wǎng) https://weibo.com/7192com
官方微信:想在手機(jī)上獲取最新鮮資訊嗎?添加全影網(wǎng)官方微信:www7192com
本站部分內(nèi)容、觀點(diǎn)、圖片、文字、視頻來自網(wǎng)絡(luò),僅供大家學(xué)習(xí)和交流,真實(shí)性、完整性、及時(shí)性本站不作任何保證或承諾。如果本站有涉及侵犯您的版權(quán)、著作權(quán)、肖像權(quán)的內(nèi)容,請(qǐng)聯(lián)系我們(0536-8337192),我們會(huì)立即審核并處理。
近日,2024至2025賽季國(guó)際雪聯(lián)單板及自由式滑雪大跳臺(tái)世界杯、
在影視制作、表演現(xiàn)場(chǎng)、綜藝錄制等高度協(xié)作的專業(yè)領(lǐng)域,無線通信
近日,億歐智庫發(fā)布“2024新國(guó)貨CoolTop100品牌榜”報(bào)告及榜單,
掃描訪問手機(jī)版