方法一:直接通過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接口保存下來后面重復調用。