尚硅谷-Dubbo篇

參考鏈接:https://www.bilibili.com/video/BV1ns411c7jV?p=30&vd_source=510ec700814c4e5dc4c4fda8f06c10e8

csdn csdn csdn csdn csdn


🔥1. 基礎知識

1.1. 分佈式基礎理論

1.1.1 基本概念

​ 分佈式系統就是各個計算機的集合。發展流程就是ORM ->MVC-> RPC->SOA

​ RPC:遠程過程調用,就是客戶端服務端之間建立socket連接,雙方都要編寫代碼,然後客戶端就能正常調用本機代碼一樣調用服務器的代碼對象返回。應用點就是dubbo

​ Dubbo:就是爲了解決分佈式系統下,各個服務遠程過程調用而產生的框架,zk就是dubbo名下的註冊中心,用於註冊各個服務。還有monitor的監控中心

![image-20220812103722248](https://1-1257837791.cos.ap-nanjing.myqcloud.com/202208121037303.pngArchitecture

1.1.2 基本使用
1.1.2.1 啓動步驟
  1. 啓動zkServer.cmd(註冊中心)
  2. 啓動dubbo-admin(監控中心)
  3. 提供者提供接口和類型,消費者也要定義消費的接口和類型
1.1.2.2 SpringBoot整合
1. 配置dubbo-starter, @EnableDubbo
1. 服務者和消費者寫各種配置文件
1. 服務者用dubbo的@Service,
1. 消費者用dubbo的@Reference,Spring的@Service

1.2 高可用

1.2.1 ZK宕機

​ 本身ZK註冊中心就只是一種保存生產者、消費者地址的,如果宕機了生產者消費者保存本地緩存地址也能進行訪問

1.2.2 服務降級

​ 手動把某個服務關掉,降低系統消耗,返回NULL對象即可

1.2.3 服務容錯

​ A調用B,如果調用失敗了,立即返回或者重試多少次,或者保存記錄稍後再重試。Hystrix就是用來保證分佈式系統下出錯了返回什麼信息,進行什麼處理

1.3 原理分析

1.3.1 RPC原理

​ Dubbo底層就是RPC。RPC原理就是

1. 客戶端先發起請求,通過註冊中心找到服務器
1. 服務端收到消息後解碼,然後發數據發給客戶端
1. 客戶端解碼收到的結果
1.3.2 Netty原理

RPC實現客戶端和服務端通信原理就是Netty

1.3.3 框架源碼分析(略)
1.3.4 個人總結

image-20220813104709826



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章