Dubbo 服務除錯管理實用命令
公司如果分專案組開發的,各個專案組呼叫各專案組的介面,有時候需要在聯調環境除錯對方的介面,可以直接telnet到dubbo的服務通過命令檢視已經布的介面和方法,並能直接invoke具體的方法,我們可以利用telnet命令進行除錯、管理。
Dubbo2.0.5以上版本服務提供埠支援telnet命令,下面我通過例項拋磚引玉一下:
1. 連線服務
測試對應IP和埠下的dubbo服務是否連通,cmd命令如下
telnetlocalhost 20880
正常情況下,進入telnet視窗,鍵入回車進入dubbo命令模式。
檢視服務
dubbo>ls
com.test.DemoService
檢視服務中的介面
dubbo>ls com.test.DemoService queryDemoPageList insertDemolist uploadDemoList deleteDemolist
ls
(listservices and methods)
ls
顯示服務列表。
ls -l
顯示服務詳細資訊列表。
lsXxxService
顯示服務的方法列表。
ls -lXxxService
顯示服務的方法詳細資訊列表。
3.呼叫服務介面
呼叫介面時,以JSON格式傳入引數(這點很方便 :-D),然後列印返回值和所用時間。
dubbo>invoke com.test.DemoService.queryDemoPageList({"id":"100"},1,2) {"totalCount":1,"data":[{date":"2011-03-2314:10:32","name":"張三","keyword":null}]} elapsed: 10 ms.
invoke
invokeXxxService.xxxMethod({"prop":"value"})
呼叫服務的方法。
invokexxxMethod({"prop":"value"})
呼叫服務的方法(自動查詢包含此方法的服務)。
4.檢視服務狀態
檢視服務呼叫次數,不過比較奇怪的是,我剛才已經呼叫過一次queryDemoPageList了,而這裡顯示的為0(貌似不太準,有待進一步瞭解)
dubbo>count com.test.DemoService
dubbo>
+-------------------------+-------+--------+--------+---------+-----+
| method | total | failed | active | average | max |
+-------------------------+-------+--------+--------+---------+-----+
| queryDemoPageList | 0 | 0 | 0 | 0ms | 0ms |
| insertDemolist | 0 | 0 | 0 | 0ms | 0ms |
| uploadDemoList | 0 | 0 | 0 | 0ms | 0ms |
| deleteDemolist | 0 | 0 | 0 | 0ms | 0ms |
+-------------------------+-------+--------+--------+---------+-----+
count
countXxxService
統計1次服務任意方法的呼叫情況。
countXxxService 10
統計10次服務任意方法的呼叫情況。
countXxxService xxxMethod
統計1次服務方法的呼叫情況。
countXxxService xxxMethod 10
統計10次服務方法的呼叫情況。
status
status
顯示彙總狀態,該狀態將彙總所有資源的狀態,當全部OK時則顯示OK,只要有一個ERROR則顯示ERROR,只要有一個WARN則顯示WARN。
status -l
顯示狀態列表。
參考資料:
Telnet命令參考手冊:http://alibaba.github.io/dubbo-doc-static/Telnet+Command+Reference-zh-showComments=true&showCommentArea=true.htm