JMETER 链接调用dubbo接口

需要下载/导入一个dubbo jar包到jmter,lib->ext文件下,重启下哦 。

每篇一个测试小技能!!!!


1.什么dubbo接口

首先 Dubbo 是我们微服务开发的基础能力框架,在国内可以说是首屈一指的 RPC 框架,它不仅有完整的服务治理能力、服务注册发现能力、容错能力、集群能力等等,而且还提供丰富的可插拔的拓展能力。像在许多 RPC 系统中一样, Dubbo 围绕定义服务的思想,可以通过指定其 参数 、 方法 和 返回类型 调用远程的方法。在服务器端,服务器实现此接口( 说明:服务提供端提供服务所实现的接口规范 )并运行 Dubbo 服务器以处理客户端调用。在客户端,客户端有一个服务端存根( 说明:服务端提供的接口规范 ),通过这个存根就可以像调用本地方法一样调用远程服务端方法。

前言

首先解释一下什么是 RPC ,RPC 其全称为 Remote Procedure Call 即远程过程调用。RPC 用于在远程计算机上调用函数过程(通常也可以在同一台机器上的进程之间使用它)。假设这个场景:服务 A、B 两个服务分别部署在两台服务器上,服务 A 需要调用服务 B 上的某个方法,此时因为这是在两台不同的服务器部署的服务,因此需要通过建立网络连接进行交互的这一过程就叫远程服务调用。 下图展示常见的两种 RPC 调用方式

1.1.RPC 跨进程调用:即在相同操作系统中不同进程间的服务调用(例如:tradecore与tradeprod之间调用)

1.2.PRC 跨系统且跨进程调用:即在不同操作系统间且跨进程远程服务调用(例如:tradecore与usercore之间调用)

2.Jmeter实现Dubbo服务之间测试

2.1.添加Dubbo Sample取样器

Jmeter没有直接对Dubbo接口进行测试能力,故需要下载一个调dubbo接口插件,加载jmeter-plugins-dubbo插件,实现dubbo接口调用。下载好后,重启Jmeter添加->取样器 中可以看到Dubbo Sample

2.2.在Dubbo Sample各参数说明

配置中心:Config Center,可选组件,若没有可不填写

注册协议:none支持直连,zookeeper, multicast,redis...

服务器中心地址:ip:port(注意如果是直连dubbo直接填写服务器地址,zookeeper需要填写对应的zk地址即可)

注册协议:支持dubbo://, rmi://

服务接口信息:Interface填写配置文件中的包名.类型,Methods填写方法名,Args填写调用的参数

3.执行脚本后,查看执行结果

至此一个简单的订单查询dubbo接口完成~

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
JMeter可以通过Java请求来调用Java接口。以下是一个简单的示例代码: ```java import org.apache.jmeter.config.Arguments; import org.apache.jmeter.protocol.java.sampler.JavaSamplerContext; import org.apache.jmeter.protocol.java.sampler.JavaSamplerSampler; import org.apache.jmeter.samplers.SampleResult; public class MyJavaSampler extends JavaSamplerSampler { @Override public Arguments getDefaultParameters() { Arguments arguments = new Arguments(); arguments.addArgument("param1", "default_value1"); arguments.addArgument("param2", "default_value2"); return arguments; } @Override public SampleResult runTest(JavaSamplerContext context) { SampleResult result = new SampleResult(); result.sampleStart(); try { // Get parameters from context String param1 = context.getParameter("param1"); String param2 = context.getParameter("param2"); // Call Java interface MyJavaInterface myInterface = new MyJavaInterface(); String response = myInterface.call(param1, param2); // Set response data and status result.setResponseData(response, null); result.setResponseCodeOK(); result.setSuccessful(true); } catch (Exception e) { // Set error message and status result.setResponseMessage(e.getMessage()); result.setSuccessful(false); } result.sampleEnd(); return result; } } ``` 在这个示例中,我们创建了一个 `JavaSamplerSampler` 的子类 `MyJavaSampler`,并实现了 `getDefaultParameters` 和 `runTest` 方法。`getDefaultParameters` 方法返回默认的参数值,`runTest` 方法执行测试逻辑。 在 `runTest` 方法中,我们从 `JavaSamplerContext` 中获取参数,并调用一个名为 `MyJavaInterface` 的Java接口接口调用逻辑可以根据自己的需求进行修改。 要在JMeter中使用这个Java请求,需要将编译后的类文件添加到JMeter的classpath中,并在测试计划中添加一个 Java请求。在Java请求配置中,选择 `MyJavaSampler` 作为类名,并设置参数值。运行测试计划时,JMeter将使用Java请求调用Java接口

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值