亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

史上最全40道Dubbo面試題及答案

  發(fā)布時(shí)間:2020-05-26 17:09:39   作者:茅坤寶駿氹   我要評(píng)論
這篇文章主要介紹了史上最全40道Dubbo面試題及答案,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧

想往高處走,怎么能不懂 Dubbo?

Dubbo是國(guó)內(nèi)最出名的分布式服務(wù)框架,也是 Java 程序員必備的必會(huì)的框架之一。Dubbo 更是中高級(jí)面試過(guò)程中經(jīng)常會(huì)問(wèn)的技術(shù),無(wú)論你是否用過(guò),你都必須熟悉。

下面我為大家準(zhǔn)備了一些 Dubbo 常見(jiàn)的的面試題,一些是我經(jīng)常問(wèn)別人的,一些是我過(guò)去面試遇到的一些問(wèn)題,總結(jié)給大家,希望對(duì)大家能有所幫助。

1、Dubbo是什么?

Dubbo是阿里巴巴開(kāi)源的基于 Java 的高性能 RPC 分布式服務(wù)框架,現(xiàn)已成為 Apache 基金會(huì)孵化項(xiàng)目。

面試官問(wèn)你如果這個(gè)都不清楚,那下面的就沒(méi)必要問(wèn)了。

官網(wǎng):http://dubbo.apache.org

2、為什么要用Dubbo?

因?yàn)槭前⒗镩_(kāi)源項(xiàng)目,國(guó)內(nèi)很多互聯(lián)網(wǎng)公司都在用,已經(jīng)經(jīng)過(guò)很多線上考驗(yàn)。內(nèi)部使用了 Netty、Zookeeper,保證了高性能高可用性。

使用 Dubbo 可以將核心業(yè)務(wù)抽取出來(lái),作為獨(dú)立的服務(wù),逐漸形成穩(wěn)定的服務(wù)中心,可用于提高業(yè)務(wù)復(fù)用靈活擴(kuò)展,使前端應(yīng)用能更快速的響應(yīng)多變的市場(chǎng)需求。

下面這張圖可以很清楚的詮釋?zhuān)钪匾囊稽c(diǎn)是,分布式架構(gòu)可以承受更大規(guī)模的并發(fā)流量。

 下面是 Dubbo 的服務(wù)治理圖。

3、Dubbo 和 Spring Cloud 有什么區(qū)別?

兩個(gè)沒(méi)關(guān)聯(lián),如果硬要說(shuō)區(qū)別,有以下幾點(diǎn)。

1)通信方式不同

Dubbo 使用的是 RPC 通信,而 Spring Cloud 使用的是 HTTP RESTFul 方式。

2)組成部分不同

4、dubbo都支持什么協(xié)議,推薦用哪種?

  • dubbo://(推薦)
  • rmi://
  • hessian://
  • http://
  • webservice://
  • thrift://
  • memcached://
  • redis://
  • rest://

5、Dubbo需要 Web 容器嗎?

不需要,如果硬要用 Web 容器,只會(huì)增加復(fù)雜性,也浪費(fèi)資源。

6、Dubbo內(nèi)置了哪幾種服務(wù)容器?

  • Spring Container
  • Jetty Container
  • Log4j Container

Dubbo 的服務(wù)容器只是一個(gè)簡(jiǎn)單的 Main 方法,并加載一個(gè)簡(jiǎn)單的 Spring 容器,用于暴露服務(wù)。

7、Dubbo里面有哪幾種節(jié)點(diǎn)角色?

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

該圖來(lái)自 Dubbo 官網(wǎng),供你參考,如果你說(shuō)你熟悉 Dubbo, 面試官經(jīng)常會(huì)讓你畫(huà)這個(gè)圖,記好了。

9、Dubbo默認(rèn)使用什么注冊(cè)中心,還有別的選擇嗎?

推薦使用 Zookeeper 作為注冊(cè)中心,還有 Redis、Multicast、Simple 注冊(cè)中心,但不推薦。

10、Dubbo有哪幾種配置方式?

1)Spring 配置方式
2)Java API 配置方式

11、Dubbo 核心的配置有哪些?

我曾經(jīng)面試就遇到過(guò)面試官讓你寫(xiě)這些配置,我也是蒙逼。。

配置之間的關(guān)系見(jiàn)下圖。

12、在 Provider 上可以配置的 Consumer 端的屬性有哪些?

1)timeout:方法調(diào)用超時(shí)
2)retries:失敗重試次數(shù),默認(rèn)重試 2 次
3)loadbalance:負(fù)載均衡算法,默認(rèn)隨機(jī)
4)actives 消費(fèi)者端,最大并發(fā)調(diào)用限制

13、Dubbo啟動(dòng)時(shí)如果依賴(lài)的服務(wù)不可用會(huì)怎樣?

Dubbo 缺省會(huì)在啟動(dòng)時(shí)檢查依賴(lài)的服務(wù)是否可用,不可用時(shí)會(huì)拋出異常,阻止 Spring 初始化完成,默認(rèn) check="true",可以通過(guò) check="false" 關(guān)閉檢查。

14、Dubbo推薦使用什么序列化框架,你知道的還有哪些?

推薦使用Hessian序列化,還有Duddo、FastJson、Java自帶序列化。

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

Dubbo 默認(rèn)使用 Netty 框架,也是推薦的選擇,另外內(nèi)容還集成有Mina、Grizzly。

16、Dubbo有哪幾種集群容錯(cuò)方案,默認(rèn)是哪種?

17、Dubbo有哪幾種負(fù)載均衡策略,默認(rèn)是哪種?

18、注冊(cè)了多個(gè)同一樣的服務(wù),如果測(cè)試指定的某一個(gè)服務(wù)呢?

可以配置環(huán)境點(diǎn)對(duì)點(diǎn)直連,繞過(guò)注冊(cè)中心,將以服務(wù)接口為單位,忽略注冊(cè)中心的提供者列表。

19、Dubbo支持服務(wù)多協(xié)議嗎?

Dubbo 允許配置多協(xié)議,在不同服務(wù)上支持不同協(xié)議或者同一服務(wù)上同時(shí)支持多種協(xié)議。

20、當(dāng)一個(gè)服務(wù)接口有多種實(shí)現(xiàn)時(shí)怎么做?

當(dāng)一個(gè)接口有多種實(shí)現(xiàn)時(shí),可以用 group 屬性來(lái)分組,服務(wù)提供方和消費(fèi)方都指定同一個(gè) group 即可。

21、服務(wù)上線怎么兼容舊版本?

可以用版本號(hào)(version)過(guò)渡,多個(gè)不同版本的服務(wù)注冊(cè)到注冊(cè)中心,版本號(hào)不同的服務(wù)相互間不引用。這個(gè)和服務(wù)分組的概念有一點(diǎn)類(lèi)似。

22、Dubbo可以對(duì)結(jié)果進(jìn)行緩存嗎?

可以,Dubbo 提供了聲明式緩存,用于加速熱門(mén)數(shù)據(jù)的訪問(wèn)速度,以減少用戶(hù)加緩存的工作量。

23、Dubbo服務(wù)之間的調(diào)用是阻塞的嗎?

默認(rèn)是同步等待結(jié)果阻塞的,支持異步調(diào)用。

Dubbo 是基于 NIO 的非阻塞實(shí)現(xiàn)并行調(diào)用,客戶(hù)端不需要啟動(dòng)多線程即可完成并行調(diào)用多個(gè)遠(yuǎn)程服務(wù),相對(duì)多線程開(kāi)銷(xiāo)較小,異步調(diào)用會(huì)返回一個(gè) Future 對(duì)象。

異步調(diào)用流程圖如下。

24、Dubbo支持分布式事務(wù)嗎?

目前暫時(shí)不支持,后續(xù)可能采用基于 JTA/XA 規(guī)范實(shí)現(xiàn),如以圖所示。

25、Dubbo telnet 命令能做什么?

dubbo 通過(guò) telnet 命令來(lái)進(jìn)行服務(wù)治理,具體使用看這篇文章《dubbo服務(wù)調(diào)試管理實(shí)用命令》。

telnet localhost 8090

26、Dubbo支持服務(wù)降級(jí)嗎?

Dubbo 2.2.0 以上版本支持。

27、Dubbo如何優(yōu)雅停機(jī)?

Dubbo 是通過(guò) JDK 的 ShutdownHook 來(lái)完成優(yōu)雅停機(jī)的,所以如果使用 kill -9 PID 等強(qiáng)制關(guān)閉指令,是不會(huì)執(zhí)行優(yōu)雅停機(jī)的,只有通過(guò) kill PID 時(shí),才會(huì)執(zhí)行。

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

服務(wù)失效踢出基于 Zookeeper 的臨時(shí)節(jié)點(diǎn)原理。

29、如何解決服務(wù)調(diào)用鏈過(guò)長(zhǎng)的問(wèn)題?

Dubbo 可以使用 Pinpoint 和 Apache Skywalking(Incubator) 實(shí)現(xiàn)分布式服務(wù)追蹤,當(dāng)然還有其他很多方案。

30、服務(wù)讀寫(xiě)推薦的容錯(cuò)策略是怎樣的?

讀操作建議使用 Failover 失敗自動(dòng)切換,默認(rèn)重試兩次其他服務(wù)器。

寫(xiě)操作建議使用 Failfast 快速失敗,發(fā)一次調(diào)用失敗就立即報(bào)錯(cuò)。

31、Dubbo必須依賴(lài)的包有哪些?

Dubbo 必須依賴(lài) JDK,其他為可選。

32、Dubbo的管理控制臺(tái)能做什么?

管理控制臺(tái)主要包含:路由規(guī)則,動(dòng)態(tài)配置,服務(wù)降級(jí),訪問(wèn)控制,權(quán)重調(diào)整,負(fù)載均衡,等管理功能。

33、說(shuō)說(shuō) Dubbo 服務(wù)暴露的過(guò)程。

Dubbo 會(huì)在 Spring 實(shí)例化完 bean 之后,在刷新容器最后一步發(fā)布 ContextRefreshEvent 事件的時(shí)候,通知實(shí)現(xiàn)了 ApplicationListener 的 ServiceBean 類(lèi)進(jìn)行回調(diào) onApplicationEvent 事件方法,Dubbo 會(huì)在這個(gè)方法中調(diào)用 ServiceBean 父類(lèi) ServiceConfig 的 export 方法,而該方法真正實(shí)現(xiàn)了服務(wù)的(異步或者非異步)發(fā)布。

34、Dubbo 停止維護(hù)了嗎?

2014 年開(kāi)始停止維護(hù)過(guò)幾年,17 年開(kāi)始重新維護(hù),并進(jìn)入了 Apache 項(xiàng)目。

35、Dubbo 和 Dubbox 有什么區(qū)別?

Dubbox 是繼 Dubbo 停止維護(hù)后,當(dāng)當(dāng)網(wǎng)基于 Dubbo 做的一個(gè)擴(kuò)展項(xiàng)目,如加了服務(wù)可 Restful 調(diào)用,更新了開(kāi)源組件等。

36、你還了解別的分布式框架嗎?

別的還有 Spring cloud、Facebook 的 Thrift、Twitter 的 Finagle 等。

37、Dubbo 能集成 Spring Boot 嗎?

可以的,項(xiàng)目地址如下。

https://github.com/apache/incubator-dubbo-spring-boot-project

38、在使用過(guò)程中都遇到了些什么問(wèn)題?

Dubbo 的設(shè)計(jì)目的是為了滿(mǎn)足高并發(fā)小數(shù)據(jù)量的 rpc 調(diào)用,在大數(shù)據(jù)量下的性能表現(xiàn)并不好,建議使用 rmi 或 http 協(xié)議。

39、你讀過(guò) Dubbo 的源碼嗎?

要了解 Dubbo 就必須看其源碼,了解其原理,花點(diǎn)時(shí)間看下吧,網(wǎng)上也有很多教程,后續(xù)有時(shí)間我也會(huì)在公眾號(hào)上分享 Dubbo 的源碼。

40、你覺(jué)得用 Dubbo 好還是 Spring Cloud 好?

擴(kuò)展性的問(wèn)題,沒(méi)有好壞,只有適合不適合,不過(guò)我好像更傾向于使用 Dubbo, Spring Cloud 版本升級(jí)太快,組件更新替換太頻繁,配置太繁瑣,還有很多我覺(jué)得是沒(méi)有 Dubbo 順手的地方……

到此這篇關(guān)于史上最全40道Dubbo面試題及答案 的文章就介紹到這了,更多相關(guān)Dubbo面試題內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持腳本之家!

相關(guān)文章

  • 程序員面試的幾個(gè)小技巧

    這篇文章主要介紹了程序員面試的幾個(gè)小技巧,在平時(shí)面試的時(shí)候,除了實(shí)打?qū)嵉募寄苓€需要更多的技巧,雙管齊下才能贏得更大的勝算,技能方面就不多說(shuō)了,下面來(lái)分享幾個(gè)面試
    2023-04-23
  • AQS底層原理連環(huán)相扣系列鎖面試題分析

    面試中,問(wèn)鎖主要是兩方面:鎖的日常使用場(chǎng)景 + 鎖原理,鎖的日常使用場(chǎng)景主要考察對(duì)鎖 API 的使用熟練度,看看你是否真的使用過(guò)這些 API,而不是紙上談兵,鎖原理主要就是
    2022-05-19
  • Mybatis常見(jiàn)面試題詳細(xì)總結(jié)

    這篇文章主要介紹了Mybatis常見(jiàn)面試題詳細(xì)總結(jié),通過(guò)總結(jié)列舉大量的mybatis面試常見(jiàn)題目供給大家參考,希望對(duì)大家有所幫助
    2021-08-24
  • 2020Java后端開(kāi)發(fā)面試題總結(jié)(春招+秋招+社招)

    這篇文章主要介紹了2020Java后端開(kāi)發(fā)面試題總結(jié)(春招+秋招+社招),小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2021-02-18
  • MySQL數(shù)據(jù)庫(kù)選擇題小結(jié)

    這篇文章主要介紹了MySQL數(shù)據(jù)庫(kù)選擇題小結(jié),小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2021-02-07
  • 30道有趣的JVM面試題(小結(jié))

    這篇文章主要介紹了30道有趣的JVM面試題(小結(jié)),小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2020-11-26
  • Python面試題爬蟲(chóng)篇小結(jié)(附答案)

    這篇文章主要介紹了Python面試題爬蟲(chóng)篇小結(jié)(附答案),小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2020-10-28
  • 還不理解B樹(shù)和B+樹(shù),那就看看這篇文章吧

    這篇文章主要介紹了還不理解B樹(shù)和B+樹(shù),那就看看這篇文章吧,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一
    2020-09-10
  • Java面試通關(guān)要點(diǎn)匯總(備戰(zhàn)秋招)

    這篇文章主要介紹了Java面試通關(guān)要點(diǎn)匯總(備戰(zhàn)秋招),小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2020-09-08
  • 10道JVM常見(jiàn)面試題解析(附答案)

    這篇文章主要介紹了10道JVM常見(jiàn)面試題解析(附答案),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)
    2020-09-04

最新評(píng)論