3分钟了解dubbo服务调试管理实用命令

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

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

1.连接服务

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

telnet localhost 20880

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

dubbo>

 

2.查看服务列表

查看服务

dubbo>ls
com.test.DemoService

查看服务中的接口

dubbo>ls com.test.DemoService
queryDemoPageList
insertDemolist
uploadDemoList
deleteDemolist

ls

(list services and methods)

  • ls

显示服务列表。

  • ls -l

显示服务详细信息列表。

  • ls XxxService

显示服务的方法列表。

  • ls -l XxxService

显示服务的方法详细信息列表。

 

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

  • invoke XxxService.xxxMethod({"prop":"value"})

调用服务的方法。

  • invoke xxxMethod({"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

  • count XxxService

统计1次服务任意方法的调用情况。

  • count XxxService 10

统计10次服务任意方法的调用情况。

  • count XxxService xxxMethod

统计1次服务方法的调用情况。

  • count XxxService 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

 

Doe 发布 [V1.0.0] 前段时间排查某问题的时候,想要快速知道某些dubbo接口(三无)的响应结果,但不想启动项目(因为这些项目不是你负责的,不会部署而且超级笨重),也不想新建一个dubbo客户端项目(占地方),也不想开telnet客户端连接口(麻烦而且有限制)。所以扣了dubbo的netty模块源码,封装了个收发客户端集成一个工具,可以快速调试dubbo接口。源码地址:https://github.com/VIPJoey/doe 极简模式 普通模式 目录结构 mmc-dubbo-api 接口项目,主要用于测试。 mmc-dubbo-provider dubbo提供者项目,主要用于测试。 mmc-dubbo-doe 主项目,实现dubbo接口调试。 deploy 部署文档 功能特性 极简模式:通过dubbo提供的telnet协议收发数据。 普通模式:通过封装netty客户端收发数据。 用例模式:通过缓存数据,方便下一次操作,依赖普通模式。 增加依赖:通过调用maven命令,下载jar包和热加载到系统,主要用来分析接口方法参数,主要作用在普通模式。 依赖列表:通过分析pom文件,展示已经加载的jar包。 其它特性 springboot 整合 redis,支持spring el 表达式。 springboot 整合 thymeleaf。 springboot 整合 logback。 netty rpc 实现原理。 开发环境 jdk 1.8 maven 3.5.3 dubbo 2.6.1 lombok 1.16.20 idea 2018 windows 7 安装步骤 安装jdk 安装maven,并设置好环境变量,仓库目录。 进入mmc-dubbo-api目录,执行mvn clean install命令,省api的jar包。 进入mmc-dubbo-doe目录,执行mvn clean install 命令,在target目录生成dubbo-doe-1.0.0-RELEASE.jar 在F盘(可以任意盘)创建目录F:\app\doe 把dubbo-doe-1.0.0-RELEASE.jar拷贝到F:\app\doe 把deploy目录中的所有文件拷贝到F:\app\doe 如果您电脑安装了git bash,可以在bash窗口运行 ./deploy.sh start,否则如果没有安装git bash,只能打开cmd切换到F:\app\doe目录,然后执行java -jar dubbo-doe-1.0.0-RELEASE.jar --spring.profiles.active=prd 打开浏览器,访问地址:http://localhost:9876/doe/home/index 全剧终
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值