天天看點

Dubbo

不僅包含rpc通路功能,還包含服務治理功能

由阿裡巴巴建立,最後由apache維護至今,是以我們選擇由apache維護的dubbo

官方位址:​​https://mvnrepository.com/artifact/org.apache.dubbo/dubbo​​

常用版本2.7.3

Dubbo

采用nio複用單一長連接配接,使用線程池并發處理請求,減少握手和加大并發效率

大檔案上傳時,可能出現問題(不适用dubbo檔案上傳)

優點:jdk自帶的能力

缺點:偶爾連接配接失敗

優點:可以與原生hessian互操作,基于http協定

缺點:需hessian.jar支援,http短連接配接的開銷大

優點:支援分布式,周邊産品

缺點:受限于zookeeper軟體的穩定性,zookeeper專門分布式輔助軟體,穩定較優

優點:去中心化,不需要單獨安裝

缺點:provider和consumer和registry不能跨機房(隻能在區域網路内使用)

優點:支援叢集,性能高

缺點:要求伺服器時間同步,否則可能出現叢集失敗問題

優點:标準rpc服務,沒有相容問題

缺點:不支援叢集

dubbo目錄結構

Dubbo

建立父工程,添加依賴

dubboservice接口

接口實作

啟動類

控制器

provider中的application.yml

consumer中的application.yml

叢集:一個内容,部署多次,形成的整體稱為叢集,每個個體應該部署到不同的伺服器

僞叢集:叢集中内容部署到同一台伺服器上,通過不同端口區分不同個體

負載均衡是在叢集前提下,當通路整個叢集時,叢集中每個節點都被通路次數或頻率的規則

dubbo内置了四個負載均衡政策,預設為random

random,随機,随機通路叢集中結點,通路機率和權重有關

roundrobin,輪詢,通路頻率和權重有關;權重,占有比例,叢集中每個項目部署的伺服器性能可能不同,性能好的權重高

leastactive,活躍數相同的随機,不同的活躍數高的放前面

consistenthash,一緻性hash,相同參數請求總是發到一個提供者

建立四個啟動類

每次啟動啟動類修改配置檔案dubbo.protocal.port

調用的服務采用負載均衡

目前拂去采用的負載均衡算法

設定權重

結構圖

Dubbo

pojo.dept.java

pojo.emp.java

持久層mybatis

application-mybatis.yml

mapper.deptmapper

mapper.empmapper

provider啟動類

provider的applicaton.yml

dept子項目的建立

deptmapper.xml

deptdubboservice

deptmapper

deptdubboserviceimpl

deptservice

deptserviceimpl

deptcontroller

emp下的application.yml

empapplication

empdubboservice

empdubboserviceimpl

empmapper.xml

empservice

empcontroller

論讀書

睜開眼,書在面前

閉上眼,書在心裡