面試阿里的時候必定會問到的:Dubbo靈魂四十問,你會幾道?

前言

Dubbo用起來就和EJB、WebService差很少,調用一個遠程的服務(或者JavaBean)的時候在本地有一個接口,就像調用本地的方法同樣去調用,它底層幫你實現好你的方法參數傳輸和遠程服務運行結果傳回以後的返回,就是RPC的一種封裝
固然,這個只是Dubbo的最基本的功能,它的特色是:前端

  • 它主要是使用高效的網絡框架和序列化框架,讓分佈式服務之間調用效率更高。
  • 採用註冊中心管理衆多的服務接口地址,當你想調用服務的時候只須要跟註冊中心詢問便可,不用像使用WebService同樣每一個服務都得記錄好接口調用方式。
  • 監控中心:實現對服務方和調用方之間運行狀態的監控,還能控制服務的優先級、權限、權重、上下線等,讓整個龐大的分佈式服務系統的維護和治理比較方便。
  • 高可用:有個服務宕機了?註冊中心就會從服務列表去掉該節點。仍是調用到了?客戶端會向註冊中心請求另外一臺可用的服務節點從新調用。註冊中心宕機?註冊中心也能實現高可用(ZooKeeper)。
  • 負載均衡:採用軟負載均衡算法實現對多個相同服務的節點的請求負載均衡。

相信很多去面試阿里的朋友都有被面試官問到了Dubbo的相關問題,小編在這裏將阿里面試官問的最頻繁的那些Dubbo面試題整理了出來,以供你們參考面試

1、Dubbo是什麼?

Dubbo是阿里巴巴開源的基於 Java 的高性能 RPC(一種遠程調用) 分佈式服務框架(SOA),致力於提供高性能和透明化的RPC遠程服務調用方案,以及SOA服務治理方案。redis

2、爲何要用Dubbo?

由於是阿里開源項目,國內不少互聯網公司都在用,已經通過不少線上考驗。內部使用了 Netty、Zookeeper,保證了高性能高可用性。算法

一、使用Dubbo能夠將核心業務抽取出來,做爲獨立的服務,逐漸造成穩定的服務中心,可用於提升業務複用
靈活擴展,使前端應用能更快速的響應多變的市場需求。
二、分佈式架構能夠承受更大規模的併發流量。spring

3、Dubbo 和 Spring Cloud 有什麼區別?

一、通訊方式不一樣:Dubbo 使用的是 RPC 通訊,而Spring Cloud 使用的是HTTP RESTFul 方式。
二、組成不同:
dubbo的服務註冊中心爲Zookeerper,服務監控中心爲dubbo-monitor,無消息總線,服務跟蹤、批量任務等組件;
spring-cloud的服務註冊中心爲spring-cloud netflix enruka,服務監控中心爲spring-boot admin,有消息總線,數據流、服務跟蹤、批量任務等組件;網絡

4、Dubbo須要 Web 容器嗎?

不須要,若是硬要用Web 容器,只會增長複雜性,也浪費資源。架構

5、Dubbo內置了哪幾種服務容器?

三種服務容器:
一、Spring Container
二、Jetty Container
三、Log4j Container併發

Dubbo 的服務容器只是一個簡單的 Main 方法,並加載一個簡單的 Spring 容器,用於暴露服務。負載均衡

6、dubbo都支持什麼協議,推薦用哪一種?

一、dubbo://(推薦)
二、http://
三、rest://
四、redis://
五、memcached://框架

7、Dubbo裏面有哪幾種節點角色?

一、provide:暴露服務的服務提供方
二、consumer:調用遠程服務的服務消費方
三、registry:服務註冊於發現的註冊中心
四、monitor:統計服務調用次數和調用時間的監控中心
五、container:服務運行容器

8、dubbo服務註冊與發現的流程圖

面試阿里的時候必定會問到的:Dubbo靈魂四十問,你會幾道?

9、Dubbo默認使用什麼註冊中心,還有別的選擇嗎?

推薦使用zookeeper做爲註冊中心,還有redis、multicast、simple註冊中心。

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

面試阿里的時候必定會問到的:Dubbo靈魂四十問,你會幾道?

因爲篇幅緣由,在這就不作所有展現了,這些題我已經整理成pdf文檔免費分享給那些有須要的朋友,同時整理也花費了蠻多時間,有須要的朋友能夠點擊藍色傳送門便可獲取免費領取方式,還能夠得到我精心整理的一份阿里面試合集。

面試阿里的時候必定會問到的:Dubbo靈魂四十問,你會幾道?

相關文章
相關標籤/搜索