1. 程式人生 > >說一下Dubbo 的工作原理?註冊中心掛了可以繼續通訊嗎?

說一下Dubbo 的工作原理?註冊中心掛了可以繼續通訊嗎?

面試題

說一下的 dubbo 的工作原理?註冊中心掛了可以繼續通訊嗎?說說一次 rpc 請求的流程?

面試官心理分析

MQ、ES、Redis、Dubbo,上來先問你一些思考性的問題原理,比如 kafka 高可用架構原理、es 分散式架構原理、redis 執行緒模型原理、Dubbo 工作原理;之後就是生產環境裡可能會碰到的一些問題,因為每種技術引入之後生產環境都可能會碰到一些問題;再來點綜合的,就是系統設計,比如讓你設計一個 MQ、設計一個搜尋引擎、設計一個快取、設計一個 rpc 框架等等。

那既然開始聊分散式系統了,自然重點先聊聊 dubbo 了,畢竟 dubbo 是目前事實上大部分公司的分散式系統的 rpc 框架標準,基於 dubbo 也可以構建一整套的微服務架構。但是需要自己大量開發。

當然去年開始 spring cloud 非常火,現在大量的公司開始轉向 spring cloud 了,spring cloud 人家畢竟是微服務架構的全家桶式的這麼一個東西。但是因為很多公司還在用 dubbo,所以 dubbo 肯定會是目前面試的重點,何況人家 dubbo 現在重啟開源社群維護了,捐獻給了 apache,未來應該也還是有一定市場和地位的。

既然聊 dubbo,那肯定是先從 dubbo 原理開始聊了,你先說說 dubbo 支撐 rpc 分散式呼叫的架構啥的,然後說說一次 rpc 請求 dubbo 是怎麼給你完成的,對吧。

面試題剖析

dubbo 工作原理

  • 第一層:service 層,介面層,給服務提供者和消費者來實現的
  • 第二層:config 層,配置層,主要是對 dubbo 進行各種配置的
  • 第三層:proxy 層,服務代理層,無論是 consumer 還是 provider,dubbo 都會給你生成代理,代理之間進行網路通訊
  • 第四層:registry 層,服務註冊層,負責服務的註冊與發現
  • 第五層:cluster 層,叢集層,封裝多個服務提供者的路由以及負載均衡,將多個例項組合成一個服務
  • 第六層:monitor 層,監控層,對 rpc 介面的呼叫次數和呼叫時間進行監控
  • 第七層:protocal 層,遠端呼叫層,封裝 rpc 呼叫
  • 第八層:exchange 層,資訊交換層,封裝請求響應模式,同步轉非同步
  • 第九層:transport 層,網路傳輸層,抽象 mina 和 netty 為統一介面
  • 第十層:serialize 層,資料序列化層

工作流程

  • 第一步:provider 向註冊中心去註冊
  • 第二步:consumer 從註冊中心訂閱服務,註冊中心會通知 consumer 註冊好的服務
  • 第三步:consumer 呼叫 provider
  • 第四步:consumer 和 provider 都非同步通知監控中心

dubbo-operating-principle

註冊中心掛了可以繼續通訊嗎?

可以,因為剛開始初始化的時候,消費者會將提供者的地址等資訊拉取到本地快取,所以註冊中心掛了可以繼續通訊。

免費Java資料需要自己領取,涵蓋了Java、Redis、MongoDB、MySQL、Zookeeper、Spring Cloud、Dubbo高併發分散式等教程,一共30G。 
傳送門: https://mp.weixin.qq.com/s/JzddfH-7yNudmkjT0IRL8Q

相關推薦

一下Dubbo工作原理註冊中心可以繼續通訊

面試題 說一下的 dubbo 的工作原理?註冊中心掛了可以繼續通訊嗎?說說一次 rpc 請求的流程? 面試官心理分析 M

29、dubbo工作原理註冊中心可以繼續通訊

1、面試題 說一下的dubbo的工作原理?註冊中心掛了可以繼續通訊嗎?說說一次rpc請求的流程? 2、面試官心裡分析 MQ、ES、Redis、Dubbo,上來先問你一些思考的問題,原理(kafka高可用架構原理、es分散式架構原理、redis執行緒模型原理、Dubbo工作原理),生產環境

dubbo註冊中心可以繼續通訊

dubbo工作原理 第一層:service 層,介面層,給服務提供者和消費者來實現的 第二層:config 層,配置層,主要是對 dubbo 進行各種配置的 第三層:proxy 層,服務代理層,無論是 consumer 還是 provider,dubbo 都會給你生成代理,代理之間進

IDEA中SSM框架轉變為SOA dubbo框架 zookeeper註冊中心

one char create poj 浪費 roo erl username style SOA框架的優點:   當服務越來越多,容量的評估,小服務資源的浪費等問題逐漸顯現,此時需增加一個調度中心基於訪問壓力實時管理集群容量,提高集群利用率。用於提高機器利用率的 資源調度

RPC服務框架dubbo(二):dubbo支援的註冊中心

Zookeeper 1 優點:支援網路叢集 2 缺點:穩定性受限於Zookeeper zookeeper的詳細資訊看這裡:https://www.cnblogs.com/shamo89/tag/ZooKeeper/ Redis 1 優點:效能高. 2 缺點:對伺服器環境要求較高. Multica

dubbo使用zookeeper註冊中心,在虛擬機器上使用釋出服務

在本地主機上面ping虛擬機器,看能否連線,我配置的虛擬機器地址 ping 192.168.25.128   使用xftp工具連線虛擬機器,將zookeeper壓縮包上傳到虛擬機器上面   使用xshell連線虛擬機器解壓壓縮包,(先保證虛擬機器中安裝好

eureka註冊中心出現一些莫名其妙的服務。

            eureka註冊中心出現了一些莫名其妙的服務。導致原來的路徑沒有找到 首先關閉伺服器的自我保護。一旦斷開就刪掉微服務。防止有些已經停掉的服務仍然在註冊中心裡。 另外加上安全驗證,防止一些體系之外的服務誤打誤

NET(C#)接入Dubbo服務,Zookeeper作為Dubbo服務的註冊中心,實現thrift協議訪問介面(1)

專案要接入thrift,面對完全陌生的東西,學習的過程記錄。 開發環境: 系統:Windows 工具:VS2012 最新版thrift 下載:http://thrift.apache.org/download 點選下載thrift-0.9.3.exe,放在某個目錄下。我

dubbo連線zookeeper註冊中心因為斷網導致執行緒無限等待問題

最近維護的系統切換了網路環境,由聯通換成了電信網路,因為某些過濾規則導致系統連不上zookeeper伺服器(應用系統機器在深圳,網路為電信線路,zookeeper伺服器在北京,網路為聯通線路),因為我不是運維人員也不懂運維相關的技術,所以排查了很久也不知道原因,

Dubbo原始碼學習--註冊中心(一)

    目前Dubbo官方提供的註冊中心有Multicast、Zookeeper、Redis和Simple註冊中心,官方推薦使用Zookeeper作為生產環境的註冊中心。    Dubbo官方也提供了擴充套件機制,開發人員可以根據自己的需要遵守一定的擴充套件規範開發自己的註冊

zookeeper 在 Dubbo中做註冊中心具體流程

流程: 1.服務提供者啟動時向/dubbo/com.foo.BarService/providers目錄下寫入URL 2.服務消費者啟動時訂閱/dubbo/com.foo.BarService/providers目錄下的URL向/dubbo/com.foo.BarService/consumers目錄下寫入自

dubbo工作原理,叢集容錯,負載均衡

dubbo主要核心部件Remoting:網路通訊框架,實現了sync-over-async和request-response訊息機制。RPC:一個遠端過程呼叫的抽象,支援負載均衡、容災和叢集功能。Registry:服務目錄框架用於服務的註冊和服務事件釋出和訂閱。(類似第一篇文

研究一下 Webpack 打包原理,順手掙個 AirPods Pro

這些年,Webpack 基本成了前端專案打包構建的標配。關於它的原理和用法的文章在網上汗牛充棟,大家或多或少都看過一些。我也一樣,大概瞭解過它的構建過程以及常用 loader 和 plugin 的配置、效能優化方法等等,僅限於“面試夠用”的程度。在實際工作中,往往是配置好後就放一邊了,沒有遇到問題是不會再碰它

HTTP協議報文、工作原理及Java中的HTTP通訊技術詳解

一、web及網路基礎       1、HTTP的歷史            1.1、HTTP的概念:         &nb

如果有人問你 Dubbo註冊中心工作原理,就把這篇文章給他

註冊中心作用 開篇首先想思考一個問題,沒有註冊中心 Dubbo 還能玩下去嗎? 當然可以,只要知道服務提供者地址相關資訊,消費者配置之後就可以呼叫。如果只有幾個服務,這麼玩當然沒問題。但是生產服務動輒成千上百,如果每個服務都需要手寫配置資訊,想象一下是多麼麻煩。 好吧,如果上面的問題都不是事的話,試想一下

安裝 Dubbo 註冊中心(Zookeeper-3.4.6)

store port -s 端口 作者 tin 內容 send 輸出信息 安裝 Dubbo 註冊中心(Zookeeper-3.4.6) Dubbo 建議使用 Zookeeper 作為服務的註冊中心。 註冊中心服務器(192.168.3.71)配置,安裝 Zookeep

【轉】優秀的Java程序員必須解GC的工作原理

info part 復制算法 omr == 類對象 acl 虛擬機棧 sca 一個優秀的Java程序員必須了解GC的工作原理、如何優化GC的性能、如何與GC進行有限的交互,因為有一些應用程序對性能要求較高,例如嵌入式系統、實時系統等,只有全面提升內存的管理效率 ,才能提高整

Dubbo框架應用之(三)--Zookeeper註冊中心、管理控制臺的安裝及解說

root pan rda 查詢 bsp err 封裝 form keep 我是在linux下使用dubbo-2.3.3以上版本號的zookeeper註冊中心客戶端。Zookeeper是Apache Hadoop的子項目,強度相對較好,建議生產環境使用該註冊中

構建springmvc+mybatis+dubbo分布式平臺-zookeeper註冊中心安裝

pac tick out prot hot in out ted 程序 time 上一篇我們介紹《構建dubbo分布式平臺-dubbo簡介》,結合dubbo基礎簡介,今天我們來學習基於zookeeper註冊中心的安裝。 註冊中心 1、建議使用dubbo-2.3.3以上版本的

springmvc+mybatis+dubbo分布式平臺-window安裝zookeeper註冊中心

proc pri 127.0.0.1 負載均衡 src tomcat springmvc ring zookeep 上一篇我們介紹《構建dubbo分布式平臺-window安裝dubbo管控臺》,考慮到我們的開發環境是在window上,為了部署運行方便,今天來簡單介紹一下wi