dubbo 是主流的RPC服務端框架,可以抽象出服務提供方(Provider)和服務消費方(Consumer)兩個角色。還有註冊中心、協議支持、服務監控、等內容。
常見dubbo面試題
1、dubbo默認使用的是什麼通信框架,還有什麼?
默認使用netty框架,還有mina。
2、dubbo服務調用是阻塞的嗎?
默認是阻塞的,可以異步調用,沒有返回值的可以這麼做。
3、一般使用什麼註冊中心?
推薦使用zookeeper註冊中心,還有redis等不推薦。Nacos等新註冊中心也是可以的。
4、服務提供者能實現失效踢出是什麼原理?
服務失效踢出基於zookeeper的臨時節點原理。
5、服務上線怎麼不影響舊版本?
採用dubbo多版本開發,不影響舊版本。
6、如何解決服務調用鏈過長的問題?
可以結合zipkin實現分佈式服務追蹤。
7、dubbo推薦用什麼協議?
默認使用dubbo協議。
8、同一個服務多個註冊的情況下可以直連某一個服務嗎?
可以直連,修改配置即可,也可以通過telnet直接某個服務。
9、畫一畫服務註冊與發現的流程圖
10、Dubbo集羣容錯怎麼做?
讀操作建議使用Failover失敗自動切換,默認重試兩次其他服務器。寫操作建議使用Failfast快速失敗,發一次調用失敗就立即報錯。
11、在使用過程中都遇到了些什麼問題?
使用過程中的問題可以百度
12、dubbo和dubbox之間的區別?
dubbox是噹噹網基於dubbo上做了一些擴展,如加了服務可restful調用,更新了開源組件等。
13、你還了解別的分佈式框架嗎?
別的還有spring的spring cloud,facebook的thrift,twitter的finagle等。
14、常見的dubbo核心配置?
dubbo:service/
dubbo:reference/
dubbo:protocol/
dubbo:registry/
dubbo:application/
dubbo:provider/
dubbo:consumer/
dubbo:method/
15、默認使用什麼序列化框架,你知道的還有哪些?
默認dubbo協議使用Hessian2序列化,還有Hessian、FastJson、Java自帶序列化。