面試 九 Dubbo面試題總結

2021-10-04 04:28:47 字數 2530 閱讀 1525

本章為dubbo面試題的總結篇

1.dubbo和spring cloud有什麼區別?

無可比性,dubbo最開始是乙個可擴充套件的rpc呼叫框架,在dubbo裡一次呼叫涉及到的服務路由、負載均衡、序列化機制、網路傳輸協議等等都是可以擴充套件的,具體的效能取決於所選用的元件。

同樣 spring cloud也類似,所以我們不能站在效能的角度來對比兩個框架。

其次,作為框架,要對比我們也應該對比這個框架的可擴充套件性,dubbo的可擴充套件性是沒有比spring cloud好。 而spring cloud目前的優勢是元件比較齊全,比如有服務閘道器、分布式配置中心、服務跟蹤等等,而這些dubbo 暫時還沒有,但是在dubbo生態裡是準備加上的。

2.dubbo2.7有些什麼新功能?

動態配置中心(configcenter)

元資料中心

條件路由支援應用

標籤路由

3.dubbo支援哪些通訊協議,不同的協議分別適用哪些場景?

4.http長連線和短連線

http1.0,不支援長連線

http1.1,預設為長連線connection=keep-alive 但是,說http長連線並不準確,因為http是應用層協議,tcp才是傳輸層協議,只有傳輸層才能說建立連線與關閉連線。

那麼,長連線有什麼好處,長連線就是可以保持連線,那當我開啟乙個網頁後,實際上我通常要過會才有可能去請求其他東西,其實並不需要這個連線一直保持在這,從這個角度看,似乎使用短連線比較合適。

長連線,實際上是指tcp長連線,那麼http可以在這個連線的基礎上傳送多次http請求與接收多次http響應,實際上當我們開啟乙個網頁時,還需要請求很多js,css等資源,這個時候這些請求是可以復用tcp連線的,從而節省了網路資源。

那麼,長連線什麼時候才關閉?有乙個超時時間的,在header進行設定,當這段時間內沒有任何http請求則超時後自動關閉。

5.dubbo支援的集群容錯方案

failover cluster:失敗自動切換,當出現失敗,重試其它伺服器。通常用於讀操作,但重試會帶來更長延遲。

failfast cluster:快速失敗,只發起一次呼叫,失敗立即報錯。通常用於非冪等性的寫操作,比如新增記錄。

failsafe cluster:失敗安全,出現異常時,直接忽略。通常用於寫入審計日誌等操作。

failback cluster:失敗自動恢復,後台記錄失敗請求,定時重發。通常用於訊息通知操作。

broadcast cluster:廣播呼叫所有提供者,逐個呼叫,任意一台報錯則報錯。通常用於通知所有提供者更 新快取或日誌等本地資源資訊。

6.dubbo支援的負載均衡策略(預設隨機)

random loadbalance:隨機

roundrobin loadbalance:輪詢

leastactive loadbalance:最少活躍呼叫數

consistenthash loadbalance:一致性 hash,相同引數的請求總是發到同一提供者。

7.dubbo中的服務降級是如何實現的

dubbo中的服務降級實際上使用的就是dubbo中的mock機制,比如當呼叫某個服務失敗後,可以設定 mock=fail:return+null表示呼叫服務失敗後返回null。

8.服務提供者能實現失效提出是什麼原理?

服務失效踢出基於 zookeeper 的臨時節點原理。

9.dubbo服務暴露的過程

首先dubbo會通過dubbonamespancehandler解析dubbo:service/標籤,並且spring會完成bean的例項化,隨後發布contextrefreshevent事件,會呼叫servicebean中的export方法,以這個方法為入口然後進行服務暴露。

實際上,我們應該叫服務匯出,因為服務匯出包括服務註冊和服務暴露,匯出順序也是先進行服務註冊在進行服務暴露,服務註冊就是將服務資訊(包括介面名以及對於的協議等資訊)註冊到註冊中心,然後進行服務資訊***繫結,然後進行服務暴露(其實就是啟動tomcat或nettyserver)。

10.dubbo服務引入的過程

首先dubbo會通過dubbonamespancehandler解析dubbo:reference/標籤,並且spring會完成bean的例項化,在引入該bean的時候,會呼叫referencebean的getobject方法,以這個方法為入口然後進行服務引入,

服務引入的步驟為:先根據服務名從註冊中心找到所有的服務提供者並且封裝到服務目錄中,然後進行服務路由的初始化,然後進行***繫結,然後將服務目錄封裝為cluster,最後生成**類。實際上服務引入是相當複雜的,這 裡只能面試大概的步驟。

11.dubbo服務呼叫的過程

消費者:

mock機制

服務路由

負載均衡

filter過濾

傳送請求

服務者:

接收請求

filter過濾

執行具體的實現類

返回結果

Dubbo面試題總結

dubbo的執行流程 dubbo的安全性如何得到保障 a.在有註冊中心的情況下,可以通過dubbbo admin中的路由規則,來指定固定ip的消費方來訪問 b.在直連的情況下,通過在服務的提供方中設定密碼 令牌 token,消費方需要在消費時也輸入這 個密碼,才能夠正確使用。dubbo新增服務ip白...

Dubbo面試題總結

dubbo是乙個分布式服務框架,致力於提供高效能和透明化的rpc遠端服務呼叫方案,以及soa服務治理方案。dubbo採用的是一種非常簡單的模型,要麼是提供方提供服務,要麼是消費方消費服務,所以基於這一點可以抽象出服務提供方 provider 和服務消費方 consumer 兩個角色。關於註冊中心 協...

面試題總結 html面試題)

附上鏈結 doctype 的作用是什麼?宣告一般位於文件的第一行,它的作用主要是告訴瀏覽器以什麼樣的模式來解析文件。一般指定了之後會以標準模式來 進行文件解析,否則就以相容模式進行解析。在標準模式下,瀏覽器的解析規則都是按照最新的標準進行解析的。而在相容模式下,瀏 覽器會以向後相容的方式來模擬老式瀏...