dubbo服务调试管理实用命令

公司如果分项目组开发的,各个项目组调用各项目组的接口,有时候需要在联调环境调试对方的接口,可以直接telnet到dubbo的服务通过命令查看已经布的接口和方法,并能直接invoke具体的方法,我们可以利用telnet命令进行调试、管理。

Dubbo2.0.5以上版本服务提供端口支持telnet命令,下面我通过实例抛砖引玉一下:

1. 连接服务

测试对应IP和端口下的dubbo服务是否连通,cmd命令如下

telnetlocalhost 20880

正常情况下,进入telnet窗口,键入回车进入dubbo命令模式。

dubbo>

2.查看服务列表

查看服务

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

原文发布于微信公众号 - Java技术栈(javastack)

原文发表时间:2017-05-17

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏个人分享

Redis简介及3.0.2编译安装

Redis是一个key-value存储系统。和Memcached类似,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(...

10120
来自专栏资深Tester

一定要知道的,那些Linux操作命令(二)

23260
来自专栏coder修行路

关于go语言的测试相关内容笔记

其实之前对于测试自己一直比较弱,不管是python的还是go的,关于测试这块并没有非常注重,这次就好好整理一下关于go的测试

9010
来自专栏运维一切

应用更新和部署 转

先来看我蹩脚的翻译:https://mesosphere.github.io/marathon/docs/deployments.html 应用部署

7620
来自专栏Petrichor的专栏

环境变量

比如下列命令会将提示符修改成字符串 “Hello,My NewPrompt :) ” :

21620
来自专栏LhWorld哥陪你聊算法

【Dubbo篇】--Dubbo框架的使用

Provider: 提供者.发布服务的项目. Registry: 注册中心.所有提供者必须去注册中心注册自己所有能发布的服务. Consumer: 消费者.调用...

93110
来自专栏程序员阿凯

一条大河波浪宽 -- 数据库连接池实现

12440
来自专栏有趣的django

10.Flask上下文

 应用上下文和请求上下文都是存放在一个‘LocalStack’的栈中,和应用app相关的操作就必须要用到应用上下文,比如通过current_app获取当前的这个...

9710
来自专栏Python中文社区

Python多进程抓取全国邮政编码和长途区号

由于Python设计的限制(就是咱们常用的CPython)最多只能用满1个CPU核心。Python提供了非常好用的多进程包multiprocessing,你只需...

28690
来自专栏Linux驱动

第4阶段——制作根文件系统之分析init进程(2)

本节目标: (1) 了解busybox(init进程和命令都放在busybox中) (2) 创建SI工程,分析busybox源码来知道init进程做了哪些事情 ...

25990

扫码关注云+社区

领取腾讯云代金券