dubbo

Dubbo

dubbo.iomysql

dubbo+spring boot +dockernginx

dubbo能解決什麼問題

  1. 怎麼去維護url

    經過註冊中心去維護url(zookeeper、redis、memcache…)git

  2. F5硬件負載均衡器的單點壓力比較大

    軟負載均衡github

  3. 怎麼去整理出服務之間的依賴關係。

    自動去整理各個服務之間的依賴redis

  4. 若是服務器的調用量愈來愈大,服務器的容量問題怎麼去評估,擴容的指標

    須要一個監控平臺,能夠監控調用量、響應時間算法

Dubbo是什麼

​ dubbo是一個分佈式的服務框架,提供高性能的以及透明化的RPC遠程服務調用解決方法,以及SOA服務治理方案。spring

image-20190304192843699

Dubbo的核心部分:sql

​ 遠程通訊docker

​ 集羣容錯apache

​ 服務的自動發現

​ 負載均衡

Dubbo的架構

核心角色

Provider 暴露服務的服務提供方
Consumer 調用遠程服務的服務消費方
Registry 服務註冊與發現的註冊中心
Monitor 統計服務的調用次數和調用時間的監控中心
Container 服務運行容器
  1. 服務容器負責啓動,加載,運行服務提供者。
  2. 服務提供者在啓動時,向註冊中心註冊本身提供的服務。
  3. 服務消費者在啓動時,向註冊中心訂閱本身所需的服務。
  4. 註冊中心返回服務提供者地址列表給消費者,若是有變動,註冊中心將基於長鏈接推送變動數據給消費者。
  5. 服務消費者,從提供者地址列表中,基於軟負載均衡算法,選一臺提供者進行調用,若是調用失敗,再選另外一臺調用。
  6. 服務消費者和提供者,在內存中累計調用次數和調用時間,定時每分鐘發送一次統計數據到監控中心

PAAS(platform-as-a-service)/IAAS(infrastucturre-as-a-service)/SAAS(軟件即服務)

若是你是一個網站站長,想要創建一個網站。不採用雲服務,你所須要的投入大概是:買服務器,安裝服務器軟件,編寫網站程序。
如今你追隨潮流,採用流行的雲計算,
若是你採用IaaS服務,那麼意味着你就不用本身買服務器了,隨便在哪家購買虛擬機,可是仍是須要本身裝服務器軟件
而若是你採用PaaS的服務,那麼意味着你既不須要買服務器,也不須要本身裝服務器軟件,只須要本身開發網站程序
若是你再進一步,購買某些在線論壇或者在線網店的服務,這意味着你也不用本身開發網站程序,只須要使用它們開發好的程序,並且他們會負責程序的升級、維護、增長服務器等,而你只須要專心運營便可,此即爲SaaS。

各個應用節點中的url管理維護很困難、 依賴關係很模糊

每一個應用節點的性能、訪問量、響應時間,沒辦法評估

img

軟負載均衡:nginx,apache

​ nginx和apache集羣:nginx+lvc ,nginx+keepalived

進程依賴於存儲:

  • ​ sqlserver
  • ​ oracle
  • ​ mysql/maraiDb
  • ​ mongoDB
  • ​ redis

集羣:

  • Master-slave

進程通訊:

​ kafka

Dubbo的使用入門

對外框架必定是基於tcp協議的

dubbo://192.168.4.169:20880/com.zzjson.IOrderServices?anyhost=true&application=order-provider&dubbo=2.5.3&interface=com.zzjson.IOrderServices&methods=doOrder&owner=zzy&pid=57178&side=provider&timestamp=1551756860543, dubbo version: 2.5.3, current host: 127.0.0.1

dubbo://177.1.1.82/20880/com.gupao.vip.mic.dubbo.order.IOrderServices%3Fanyhost%3Dtrue%26application%3Dorder-provider%26dubbo%3D2.5.3%26interface%3Dcom.gupao.vip.mic.dubbo.order.IOrderServices%26methods%3DdoOrder%26owner%3Dmic%26pid%3D10804%26side%3Dprovider%26timestamp%3D1502890818766

多了一個dubbo的目錄

image-20190305115939577

image-20190305134604961

​ url 是臨時節點,其餘節點都是持久的,由於url是動態變化的

Main方法怎麼啓動的

image-20190305135812036

image-20190305135750953

image-20190305135421963

日誌怎麼集成

直接使用log4j放在工程目錄下

image-20190305140101020

image-20190305135945276

admin控制檯的安裝

https://github.com/apache/inc...

# centers in dubbo2.7
admin.registry.address=zookeeper://116.62.221.6:2181?backup=39.98.95.85:2181,47.92.239.233:2181
#admin.config-center=zookeeper://127.0.0.1:2181
#admin.metadata-report.address=zookeeper://127.0.0.1:2181



admin.registry.group=dubbo
admin.apollo.token=e16e5cd903fd0c97a116c873b448544b9d086de9
admin.apollo.appId=test
admin.apollo.env=dev
admin.apollo.cluster=default
admin.apollo.namespace=dubbo

dubbo.registry.address=zookeeper的集羣地址

控制中心是用來作服務治理的,好比控制服務的權重、服務的路由、。。。

simple監控中心

Monitor也是一個dubbo服務,因此也會有端口和url

修改/conf目錄下dubbo.properties /order-provider.xml

dubbo.registry.address=zookeeper://116.62.221.6:2181?backup=39.98.95.85:2181,47.92.239.233:2181

監控服務的調用次數、調用關係、響應事件

image-20190305150205197

telnet命令

telnet ip port

ls、cd、pwd、clear、invoker

相關文章
相關標籤/搜索