目录
- 一、写mqtt脚本
- 二、dubbo协议
- 三、jmeter测试dubbo接口
虚拟机中的项目已经启动。
一、写mqtt脚本
发布主题。
订阅主题。
运行结果:因为是中文,所以显示的是乱码。
运行结果:执行2次发布主题后,可以看到发布的2个主题。
二、dubbo协议
dubbo协议: 微服务器框架协议,不对外暴露接口。 调用远程rpc服务,server服务 注册中心 消费者
。
把server服务部署到3台机器:3个server服务(每个服务有10个方法[adduser]
),注册到注册中心zookeeper记录3台机器ip/port
,10个方法地址。
管理者 monitor得到记录的信息。
消费者(可以是的代码,一般情况下是开发人员写的代码)。
图片来自网络
服务提供者提供的服务会告诉注册中心。消费者要用的时候,会问下管理者,再去注册中心拿到地址。
消费者再来调用这个服务。管理者进行管理和服务的调度。
接口和方法的区别:
接口:根据不同的协议,向外暴露接口,供外部调用(供这个服务本身之外的其它服务来调用)。
方法:不需要特定协议,一般不对外暴露,代码之间的方法直接调用。
在服务器的内部,部署了很多小的服务。
服务之间直接使用代码间方法的调用(不需要进行数据的封装了)比服务之间进行接口的调用,效率要高一些。
这个项目的zookeeper的端口:20181。
zookeeper的默认端口:2181。
三、jmeter测试dubbo接口
jmeter-plugins-dubbo-2.7.3-jar-with-dependencies.jar
(建议只用这个版本的jar包,其它的版本可能会有问题)丢到jmeter的libext
文件夹下,然后重启jmeter。
因为放了这个jar包,jmeter启动变慢了。建议不测试dubbo接口的时候,把这个jar包移除出来。
dubbo取样器:
register seting
中选择zookeeper
。填写机器ip:20181
。
Interface setting:点击get provider list
(获取提供者的列表)。
点击后,弹窗提示“可能会导致无响应几秒钟,是不是要继续?”点击yes。
点击ok。
这边已经显示出接口的地址。
选择list方法
运行结果。
这个项目里面的数据不是特别多,还能正常返回。如果是你们公司的项目,就要具体的来看了。
添加一个用户。
运行结果:注册成功。
gitee脚本链接:
https://gitee.com/qinghanstudy/gaojixingneng/tree/master/Advanced performance testing
注意:只放了mqtt的脚本,没放jmeter测试dubbo接口的脚本(可能是服务异常了,此脚本没调通)。
但是文章中的技术内容无误。实操时会遇到各种情况,具体问题具体分析。
文章中除标明“图片来自网络”的图片,皆为小编本人所画所截图,计算机知识都一样,如有雷同,纯属巧合。文章是清菡编写的,如有转载,请标明出处!