微服务以及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)

[微服务]揭开DUBBO的神秘面纱

Dubbo-搭建微服务(注解版本)

Dubbo 如何成为连接异构微服务体系的最佳服务开发框架

小程聊微服务-基于dubbo的mock测试系统

Dubbo和Spring Cloud微服务架构对比