dubbo
官方自帶了dubbo-admin及dubbo-******/dubbo-monitor-******二個子專案用於服務治理
及服務監控
。
然後瀏覽:http://localhost:8080/dubbo-admin/
會提示登陸使用者名稱、密碼,這是在配置檔案裡寫死的,配置檔案的路徑為:
dubbo.registry.address=zookeeper
:dubbo.admin.root.password=root
dubbo.admin.guest.password=guest
即使用者名稱、密碼均為root
,登入成功後,重新整理下頁面,如果提示404
之類的,退回到http://localhost:8080/
瀏覽(這個跟部署的contextpath
有關,如果contextpath
設定為/dubbo-admin
,重新整理下就可以了,如果contextpath
設定成/
,則登入後要退回/
瀏覽)。
dubbo
的服務治理是其特色之一,管理介面如下:
源專案打包後,目錄dubbo-******/dubbo-monitor-******/target
中會生成dubbo-monitor-******-***-assembly.tar.gz
,用tar -zxvf *.gz
解壓,解壓後有三個子目錄bin
、conf
、lib
,conf
裡面是配置檔案:
dubbo.container=log4j,spring,registry,jetty
dubbo.registry.address=zookeeper:
dubbo.protocol.port=7070
dubbo.jetty.port=8180
dubbo.jetty.directory=/data/dubbo/monitor
dubbo.charts.directory=$
/charts
dubbo.statistics.directory=$
/monitor/statistics
dubbo.log4j.file=logs/dubbo-monitor-******.log
dubbo.log4j.level=warn
參考上面改,然後bin
下有乙個start.sh
指令碼,啟動即可,訪問後瀏覽http://localhost:8180
(埠號要跟配置裡一致)
服務呼叫次數的統計:
服務之間的依賴關係:
注1:官網的監控是把所有監控資料(主要是統計資料和表圖資料)儲存到伺服器磁碟上的,執行時間久了,硬碟可能會撐滿,要注意及時清理(就是配置檔案裡面配置的3個目錄下)。
注2:監控資料也並非實時統計的,所以第1次部署成功後馬上去看統計資料,可能沒有,隨便跑乙個service provider/service consumer的用例,然後等一會兒就可以了。
oschina
上的開源專案,(為了與dubbox
裡的dubbo-monitor
子專案名稱上分開,在後面加了-x
),其中的開發者『馬金凱』,也是dubbox
的作者之一。
不過,這個版本好象有點bug
,charts
上圖表展示時會報錯,通過跟**,發現是sql
的問題,已經在個人fork
的分支上修復,有興趣的可以參考。
注:與官網的監控儲存方案不同,dubbo-monitor-x
是把資料儲存在mysql
裡的,參考readme.md
很容易搞定部署。
這是託管在git上的開源專案,從github
使用者資訊上的郵箱字尾看,可能是阿里雲的人發起的,與前面的專案不同,這個專案把管理+監控
整合在一起了,而且儲存方案除了mysql
,還支援mongodb
,lucene
,不過好像專案沒做完,只覆蓋了dubbo-admin
官方功能的90%左右(比如:新增路由功能就沒有),如果這個專案逐漸完善了,個人覺得最有前途。
不過,該專案部署略複雜:
如果決定用mysql
儲存,先執行根目錄下的install-mysql.sh
然後在target
目錄下,dubbokeeper/target/mysql-dubbokeeper-server/mysql-server/conf
修改如下配置資訊:
dubbo.registry.address=zookeeper
://localhost
:2181
dubbo.protocol.name=dubbo
dubbo.protocol.port=20884
monitor.collect.interval=100
#usered netty4
dubbo.provider.transporter=netty4
#mysql
dubbo.monitor.mysql.url=jdbc
:mysql
://default
:3306/dubbokeeper
dubbo.monitor.mysql.username=root
dubbo.monitor.mysql.password=123456
dubbo.monitor.mysql.pool.max=10
dubbo.monitor.mysql.pool.min=10
主要是zk
及mysql
的連線資訊,以及埠號,然後執行上一級目錄../bin
下的start-mysql.sh
啟動監控資料的儲存服務(即:mysql-dubbokeeper-server
本身就是乙個dubbo
服務,用於儲存監控資料)。
dubbokeeper/target/mysql-dubbokeeper-ui
這個下面的war
包扔到tomcat
或jetty
部署即可(這個才是真正的管理+監控 ui
),如果啟動失敗,檢查dubbokeeper/dubbokeeper-ui/src/main/resources/dubbo.properties
配置是否正確,如果不對,改正確了,再重新打包部署。
這個專案可以很方便的看各項目的依賴關係圖,以及每個服務的呼叫次數等資訊,可惜沒有關鍵的qps
資料。
問題:這幾套方案統計出來的資料,對於同樣的用例,都不一樣,也是醉了,不知道哪家的更準,看個人喜好吧。
如果同時起多個監控服務,dubbo-admin
裡會有警告,而且監控資料存多份也沒必要,所以不管怎麼搭配,不要將dubbo-monitor-******
、dubbo-monitor-x
、dubbokeeper
同時部署在乙個zk
註冊中心。
Dubbo高階篇 12 dubbo服務只註冊
問題 如果有兩個映象環境,兩個註冊中心,有乙個服務只在其中乙個註冊中心有部署,另乙個註冊中心還沒來得及部署,而兩個註冊中心的其它應用都需要依賴此服務,所以需要將服務同時註冊到兩個註冊中心,但卻不能讓此服務同時依賴兩個註冊中心的其它服務。解決方案 可以讓服務提供者方,只註冊服務到另一註冊中心,而不從另...
dubbo 支援服務降級嗎 Dubbo服務降級
一 簡介 解決高併發的三把利器 降級 限流 快取 1 什麼是服務降級 服務降級,當伺服器壓力劇增的情況下,根據當前業務情況及流量對一些服務有策略的降低服務級別,以釋放伺服器資源,保證核心任務的正常執行 2 服務降級方式 能夠實現服務降級方式很多,常見的有如下幾種情況 部分服務暫停 全部服務暫停 隨機...
dubbo服務集群
容錯配置 集權容錯模式 1 failover cluster 失敗自動切換,當出現失敗,重試其他伺服器。通常用於讀操作,但重試會帶來更長延遲。可通過retries 2來設定重試次數 不含第一次 如果沒有配置,預設使用這種方式,並且重試次數是2 retries 2 或者retries 2 或者 nam...