1. 程式人生 > >Dubbo 服務除錯管理實用命令

Dubbo 服務除錯管理實用命令

轉自:https://mp.weixin.qq.com/s?__biz=MzU5NTAzNjM0Mw==&mid=2247485628&idx=2&sn=b12f8aaaab4c99db014f18024edbe6d0&chksm=fe795964c90ed072773a8529a3aef6f5a1ebc0827cb639a5fc77cf4a3dc0594c151e41779078&scene=21#wechat_redirect

公司如果分專案組開發的,各個專案組呼叫各專案組的介面,有時候需要在聯調環境除錯對方的介面,可以直接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