微服务以及Dubbo接口测试
Posted Nicole sun
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了微服务以及Dubbo接口测试相关的知识,希望对你有一定的参考价值。
微服务介绍
如图所示:
服务器通过中间层分解,将系统拆分成很多小应用(微服务),微服务可以部署在不同的服务器上,也可以部署在相同的服务器不同的容器上。其RPC代表框架有 Spring cloud、Dubbo 、Thrift、grpc。
微服务之间的调用叫做远程调用RPC(remote procedure call)
Dubbo介绍:
是一款高性能、轻量级、基于java的开源RPC框架。
Dubbo接口测试
方法一:启用telnet,Telnet(用的较少) 配置Telnet
连接语法:telnet IP 端口号 (win+r cmd 输入telnet IP 端口号 按两次回车 出现dubbo 就成功了)
用ls- 查看项目中有哪些服务
调用接口的命令格式:
invoke 服务名.方法名(参数)
举例:invoke MemberService.findByTelephone("13020210001") 出现以下结果
方法二:python借助dubbo进行接口调用 (常用)
(1)首先是环境配置 终端里面安装pip install dubboclient 并用pip list检查是否安装成功
(2)使用dubboclient发送请求
1、导包 (固定语法 dubboclient类)
from dubboclient import DubboClient
2、创建DubboClient类实例,指定IP和端口
dubbo_client(dubbo_client为创建的变量名) = DubboClient("ip", 端口)
3、 使用 实例调用invoke()方法 传入:服务名、方法名、实参(方法使用)。获取响应结果
resp(响应结果) = dubbo_client.invoke(服务名, 方法名, 参数)
4、打印响应结果
print(f"响应结果:",resp)
微服务测试之使用Jmeter插件jmeter_dubbo_plugin测试dubbo接口
1、准备环境
下载Jmeter(现在从官网down下来的jmeter lib/ext下面都会有jmeter_dubbo_plugin.jar包,不用单独下载哦)
待测试接口*.jar包,扔到lib目录下
(Jmeter下载地址:http://archive.apache.org/dist/jmeter/binaries/)
2、创建脚本
1)新建java请求
2)类名称选择:com.hshbic.cloud.dubbo.DubboJmter
3)参数填写:
如果是dubbo直连,在dubboUrl行输入dubbo地址;如果是zk访问,在zookeeperAdd行输入zk地址。
interfaceAddress行,输入接口
methodName行,输入方法名
paramsValues行,输入参数列表
3、运行脚本
点击运行后,如果成功,response结果OK,说明dubbo接口测试环境OK了,以后微服务的dubbo接口测试就可以轻松搞定了。
点击运行后,如果报错,排除被测服务异常外,就是jmeter的jar包问题了,官网down的jmeter有可能少一些jar包哦~
jackson-annotations-2.7.0.jar
jackson-databind-2.7.0.jar
jackson-core-2.7.0.jar
fastjson-1.2.31.jar
如果缺少jar包,报错信息都很明显。可根据报错信息,下载相应jar包~然后放在lib目录下。
另外,注意jackson版本,如果用低版本jmeter的话,jackson版本要用2.8以下的版本。我的jmeter是2.11,用jackson 2.8.4报错,找不到databind的相关类,换成2.7.0就好了~
以上是关于微服务以及Dubbo接口测试的主要内容,如果未能解决你的问题,请参考以下文章
springcloudalibaba架构(31):SpringCloud实现用户信息在微服务之间传递(Feign和Dubbo)