總結:架構中有乙個分布式架構,分布式架構中實現服務之間通訊的方式有一種叫rpc方式的通訊,rpc方式通訊的代表框架是dubbo,而能作為dubbo的註冊中心有zookeeper、redis等
架構介紹:
單體架構:所有東西都在乙個裡面,所有模組都放在乙個tomcat中
垂直架構:每乙個tomcat只放乙個模組,也就意味著乙個tomcat只做一件事情
分布式架構:由成千上萬的計算機提供的一套完整的服務,每個服務和服務之間可以相互通訊呼叫。相互通訊的手段rpc方式(dubbo)和http方式(springcloud)。大專案基本都是分布式架構
流式架構:智慧型分流,哪部分壓力大,自動分配給多的伺服器空間,壓縮空閒模組的空間
架構圖:
分布式架構的rpc通訊方式介紹:
rpc:是remote produce call 即遠端過程呼叫,為了實現服務與服務之間的呼叫,採用二進位制傳輸
影響rpc效能的位置:
①序列化的速度
②建立socket連線的速度
rpc方式實現分布式架構通訊的代表----->dubbo現服務之間的通訊簡圖
市面上常見的rpc框架:
rpc框架代表作dubbo介紹:
dubbo是阿里巴巴公司開源的乙個高效能優秀的rpc框架,使得應用可通過高效能的 rpc 實現服務的輸出和輸入功能,可以和spring框架無縫整合。
dubbo的三大核心能力:面向介面的遠端方法呼叫,智慧型容錯和負載均衡,以及服務自動註冊和發現,灰度發布。
面向介面的遠端方法呼叫:和原本寫**相似,只需要寫@reference等註解實現遠端方法呼叫,一切交給dubbo底層實現
智慧型容錯:當某乙個環節出現錯誤時會新增一些配置進行自動話的處理,如某一環節出現異常,當超出多少秒跳過異常的環節
負載均衡:使用負載均衡機制如輪循、最快響應等,保證各個業務處理量盡量平衡。注意區別於nginx的負載均衡,nginx是客戶端發請求到服務端上,而dubbo的負載均衡是伺服器內部服務與服務之間呼叫的負載均衡
自動註冊與發現:個人認為就是找到並對映我們注入的值,
灰度發布:先放一部分新版本,等執行穩定了再用新版本替代全部的老版本
dubbo實現原理:
實現原理:首先dubbo的使用必須基於spring去操作,因此第一步是spring容器啟動,載入provider,provider會第一時間去rgister註冊中心保留自己的資訊(provider可以看成是service和dao層,隨時準備被web專案所呼叫);當consumer即消費者想去呼叫provider服務的時候,會先去註冊中心找,根據註冊中心返回的服務資訊直接去provider找;而consumer和provider每一次的註冊呼叫資訊都會在monitor監控中心註冊乙份。
圖中只有呼叫的時候才是同步操作,其他都是非同步操作
可以作為dubbo的註冊中心有:multicast、zookeeper、redis、******等
註冊中心和監控中心的搭建具體見dubbo框架搭建那篇文章,有具體步驟
Dubbo架構介紹
1,什麼是dubbo dubbo是阿里巴巴在2011年開源的分布式服務框架,是服務化治理的核心框架。dubbo主要提供3個功能,遠端介面呼叫,負載均衡和容錯,服務註冊和服務發現 目前,已經是apache的開源專案 官網 2,dubbo的架構 節點角色說明 掌握 provider 暴露服務的服務提供方...
Dubbo架構介紹 2
1.什麼是dubbo dubbo是阿里巴巴在2011年開源的分布式服務框架,是服務化治理的核心框架。dubbo主要提供3個功能,遠端介面呼叫,負載均衡和容錯,服務註冊和服務發現 目前,已經是apache的開源專案 2.dubbo的架構 3.節點角色說明 掌握 provider 暴露服務的服務提供方 ...
dubbo服務架構介紹
provider 暴露服務的服務提供方。consumer 呼叫遠端服務的服務消費方。registry 服務註冊與發現的註冊中心。monitor 統計服務的呼叫次數和呼叫時間的監控中心。呼叫流程 0.服務容器負責啟動,載入,執行服務提供者。1.服務提供者在啟動時,向註冊中心註冊自己提供的服務。2.服務...