dubbo接口测试
方法一:直接通过window的cmd命令窗口测试
telnet ip 端口号【zk地址+端口号】
eg: telnet 192.168.1.1 8008
ls -l 查看接口信息
ls -l 后面再接接口类名路径 就是查看接口中的方法信息
eg: ls -l com.cn.......ossservice
invoke 接口类.方法
eg: invoke com.cn....ossservice.getMethod({"mobilephone":"1341848811","pwd":"123456"})
方法二:通过jmeter工具测试,但是需要协助的工具有:需要特定的jar包支持及cmd支持
Dubbo插件
1、jmeter本身并不支持dubbo接口的测试,需要下载第三方插件【jar包百度搜索即可】,然后将jar包放入${JMETER_HOME}\lib\ext路径下,重启即可
2、传参对造表:
简单参数对照表:https://github.com/thubbo/jmeter-plugins-for-apache-dubbo/wiki/ParameterComparisonTable
复杂参数对照表:https://github.com/thubbo/jmeter-plugins-for-apache-dubbo/wiki/FAQ
3、jmeter dubbo插件窗口及窗口字段说明
各参数说明如下:
Protocol:注册协议,包括zookeeper、multicast、Redis、simple;
Address:注册地址,dubbo服务的IP+Port:
①、当使用zk,address填入zk地址,集群地址使用","分隔;
②、使用dubbo直连,address填写直连地址和服务端口;
Protocol:使用的dubbo协议,包括dubbo、rmi、hessian、webservice、memcached、redis,根据自己的协议类型选择对应的选项即可;
Timeout:请求超时时间,单位ms,根据dubbo具体配置填写;
Version:版本,dubbo不同版本之间差异较大,不同版本之间不能互相调用,这里指定dubbo版本,是为了方便识别和说明;
Retries:异常重试次数(类似这种分布式服务通信框架,大多都有重试机制,是为了保证事务成功率);
Cluster:集群类型,包括failover、failfast、failsafe、failback、failking;
Group:组类型,如果有的话,根据配置填写即可;
Connections:连接数,同上,根据配置填写;
Async:服务处理类型,包括sync(同步)、async(异步),根据配置填写;
Loadbalance:负载均衡策略,包括random(随机)、roundrobin(轮询)、leastactive(最少活跃数)、consistenthash(一致性哈希);
Interface:接口名(因为dubbo服务大多是开发根据规范自行命名的,因此这里需要填写完整的接口名+包名);
Method:当前接口下的方法名,按照开发提供的API文档填写即可;
Args:接口报文,根据API文档填写,如上图所示,添加输入行,输入对应的参数类型和值即可(参数类型和值如何定义填写,请参考上面的链接);
①、paramType:参数支持任何类型,包装类直接使用java.lang
下的包装类,小类型使用:int
、
float
、
shot
、
double
、
long
、
byte
、
boolean
、
char
,自定义类使用类完全名称;
②、paramValue:基础包装类和基础小类型直接使用值,例如:int为1,boolean为true等,自定义类与List
或者Map
等使用json格式数据;
方法三:idea / Iubbox Dubbo可视化测试工具
对应的源码地址以及安装方式等:https://gitee.com/IdeaHome_admin/dubbo-proxy-tools/tree/2.0.3-release
如何部署
1,安装本地mysql5.7的数据库,绿色版;
2,修改配置文件application.properties,把数据库的相关配置改成自己安装的数据库信息;
3,指定zk注册地址, 只需要在t_register_config表里面加入一行zookeeper的注册服务及端口号;
4,启动方法:IubboXInvokerApplication即可;
5,启动后,访问默认地址:http://localhost:7090/html/test-dubbo-web.html,访问后【一定要注册登录再可以操作页面】,dubbo接口请求后也可以把执行过的dubbo接口保存下来后面重复调用。