Dubbo分布式系統框架知識點流程化總結

2021-10-04 06:48:05 字數 3027 閱讀 1222

1、為什麼要進行系統拆分?如何進行系統拆分?拆分後不用dubbo可以嗎?

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

2、工作流程

3、dubbo 支援哪些通訊協議?支援哪些序列化協議?說一下 hessian 的資料結構?pb 知道嗎?為什麼 pb 的效率是最高的?

預設就是走 dubbo 協議,單一長連線,進行的是 nio 非同步通訊,基於 hessian 作為序列化協議。使用的場景是:傳輸資料量小(每次請求在 100kb 以內),但是併發量很高

長連線,通俗點說,就是建立連線過後可以持續傳送請求,無須再建立連線。

4、 dubbo 負載均衡策略和集群容錯策略都有哪些?動態**策略呢?

round robin loadbalance

leastactive loadbalanceconsistant hash loadbalance

2、dubbo集群容錯策略

failfast cluster

failsafe cluster 模式

failback cluster

forking cluster 模式

broadcast cluster

5、 dubbo 的 spi 思想是什麼?

2、dubbo的spi思想

protocol protocol = extensionloader.

getextensionloader

(protocol.

class).

getadaptiveextension()

;

2、在 dubbo 自己的 jar 裡,在/meta_inf/dubbo/internal/com.alibaba.dubbo.rpc.protocol檔案中:

protocol 介面,`@spi("dubbo")` 說的是,通過 spi 機制來提供實現類,實現類是通過 **dubbo 作為預設 key** 去配置檔案裡找到的,配置檔案名稱與介面全限定名一樣的,通過 dubbo 作為 key 可以找到預設的實現類就是 `com.alibaba.dubbo.rpc.protocol.dubbo.dubboprotocol`。
5、如何基於 dubbo 進行服務治理、服務降級、失敗重試以及超時重試?

2、服務訪問壓力和時長統計

3、服務降級

public

inte***ce

helloservice

public

class

helloserviceimpl

implements

helloservice

}

="com.zhss.service.helloservice" ref=

"helloserviceimpl" timeout=

"10000"

/>

"helloserviceimpl"

class

="com.zhss.service.helloserviceimpl"

/>

"fooservice"

inte***ce

="com.test.service.fooservice" timeout=

"10000" check=

"false" mock=

"return null"

>

<

/dubbo:reference>

失敗重試和超時重試

6、分布式服務介面的冪等性如何設計(比如不能重複扣款)?

7、 分布式服務介面請求的順序性如何保證?

8、zookeeper都有哪些應用場景

2、分布式鎖

3、元資料/配置資訊管理

4、ha高可用性

9、 集群部署時的分布式 session 如何實現?

10、 分布式事務了解嗎?你們是如何解決分布式事務問題的?

2、tcc方案 :tryconfirmcancel

3、本地訊息表

4、可靠訊息最終一致性方案:基於rocketmq

5、最大努力通知方案

6、實際應用

5、最大努力通知方案

6、實際應用

分布式知識點

分布式理論 cap c一致性 各個節點中對於同一資料的拷貝有著相同的值 a可用性,p分割槽容錯性,分割槽容錯指通訊失敗導致資料不一致 方法 兩階段提交 一致性 第一階段 事務管理器要求每個涉及到事務的資料庫預提交 第二階段 事務協調器要求每個資料庫提交資料,或者回滾資料。訊息佇列 最終一致 一致性演...

分布式系統快取知識點總結

什麼是分布式系統?答 分布式和集群是不得不聯絡在一起的兩個概念,如果多台伺服器共同處理一件事情,叫集群 如果多台伺服器各自處理不同的事情,彼此之間協調合作,共同完成整個系統的工作,就叫做分布式系統。redis cloud是集群,還是分布式快取系統?答 既是集群,也是分布式系統。這要看從哪個角度來看。...

分布式系統快取知識點總結

答 分布式和集群是不得不聯絡在一起的兩個概念,如果多台伺服器共同處理一件事情,叫集群 如果多台伺服器各自處理不同的事情,彼此之間協調合作,共同完成整個系統的工作,就叫做分布式系統。答 既是集群,也是分布式系統。這要看從哪個角度來看。假如從儲存資料是否相同來看,redis cloud中每個結點儲存的資...