简介
如何使用Jmeter针对非http请求如mq、dubbo、thrift进行功能测试及压测。
一、引言
在业务场景中有很多实时、准实时的应用场景,会涉及到MQ、Dubbo、Thrift等各种非HTTP的JAVA请求。在测试过程中,对比HTTP接口会比较麻烦。适用工具比较少,功能测试可以通过脚本解决,性能测试则需依赖成熟的发压工具。Jmeter凭借其强大的二次开发性和可扩展性脱颖而出,可完美解决上述问题。本文将以Facebook开源的RPC框架-Thrift展开。
二、RPC
RPC(即Remote Procedure Call,远程过程调用),是一个计算机通信协议,一种C/S架构的服务模型,该协议允许运行于一台计算机的程序调用另一台计算机的上的程序。Thrift是一种接口描述语言和二进制通讯协议,基于IDL(接口定义语言)生成跨语言的RPC clients and services,被用来定义和创建跨语言的服务。
RPC和HTTP(HyperText Transfer Protocol,超文本传输协议)最本质的区别是:RPC主要工作在TCP协议之上,HTTP服务主要是工作在HTTP协