Dubbo接口测试没你想的那么高大上

主题:Dubbo接口测试没你想的那么高大上

一、Dubbo是什么?
  1. Dubbo是阿里巴巴公司开源的一个高性能优秀的服务框架
  2. 一款分布式服务框架、高性能和透明化的RPC远程服务调用方案、SOA服务治理方案
  3. 下图是阿里巴巴技术解决方案演变图,从单应用->应用分层->分布式->面向服务

 

二、Dubbo接口是什么?

为了提高效率,研发团队为Dubbo框架实现了一套数据交互协议,才用这种协议传输数据的接口就是Dubbo接口。

三、Dubbo和http、WebService、WebSocket接口有什么区别?

首先接口就是一段后代代码一个方法一段功能的实现。比如最常见的登录接口:

 

/**
* 注册
* @param member
* @return
*/
@RequestMapping("/login")
public @ResponseBody Result login(Member member) {...
}

这个login方法可能是http、Dubbo、WebService接口中任意一种,如果后台使用Dubbo框架那么就是一个Dubbo接口,如果后台Apach CXF那么就是一个WebService接口。

四、Dubbo基础架构

Provider: 暴露服务的提供者。(开发人员写的代码)
Consumer: 调用远程服务的消费者。(*代码、telnet命令、jmeter插件*)
Registry: 服务注册与发现的注册中心。(平台、zookeeper)
Monitor: 统计服务的调用次调和调用时间的监控中心。(dubbo-monitor)
Container: 服务运行容器(dubbo内置容器、Jetty)
 五、zookeeper

ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和Hbase的重要组件。它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、域名服务、分布式同步、组服务等。Dubbo推荐是用zookeeper作为注册中心。

六、服务提供者

由开发人员提供,运维人员部署。

七、服务消费者

服务消费者是我们测试Dubbo接口主要手段,写一段消费者代码测试这是最直接的方式,但是对于没有代码基础或者不熟悉的Dubbo框架的同学来说,简直就是灾难。那有没有其他方式来测试呢?有,目前来说有两种方式可以让没有任何代码基础的同学毫无压力的测试Dubbo接口,一种使用jmeter插件,另外一种就是今天我们要给大家介绍的telnet命令。

  • 检查telnet命令是否可用

如果提示telnet不是内部或者外部命令,说明操作系统并没有开启telnet服务。如图:

那我们需要开启telnet服务,具体操作步骤:控制面板->程序->程序和功能->打开或关闭Windows 功能->勾上 telnet相关服务。如图:

  1. telnet命令
telnet IP 端口 连接 

 

进入界面之后再回车,就能看到dubbo> 说明你成功连上了。

ls -l 查看接口信息

ls -l 接口类 查看接口中方法信息

 invoke 接口类.方法(参数) -- 前面的命令都是显示Dubbo接口信息,invoke是用来执行接口, 也是测试Dubbo接口的关键所在。当然在测试Dubbo接口时必须结合接口文档,你必须知道传入数据的格式, 和返回数据的格式,才能做断言和设计用例。比如上图中getMember()方法有返回值也需要参数, 而list()方法没有参数,测试会更加简单,我们可以来看看调用list()方法会返回什么内容。

从上图可以看出来,调用list()方法之后返回了用户信息。我们只需要检查返回的数据和数据库中是否一致即可。 这就是使用telnet命令测试Dubbo接口。非常简单,只需要记住 telnet、ls -l 、invoke 三个命令。 

感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

 

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!有需要的小伙伴可以点击下方小卡片领取 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/340923.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

CAN201 计网概念收集

Lecture 1 the theoretical basis for networking Network edge and core 地理覆盖范围:广WAN,城MAN,局LAN,个PAN 交换方式,电路,报文,分组 电路交换vs报文vs分组 Network performance pr…

文件上传进阶绕过技巧(一)和靶场实战

★★免责声明★★ 文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与学习之用,读者将信息做其他用途,由Ta承担全部法律及连带责任,文章作者不承担任何法律及连带责任。 0、环境准备 请移步《文件上传靶场实战:upl…

倍福CX8090嵌入式PLC新风控制开发

实现新风系统控制的方法与硬件配置、软件编程以及控制需求等因素有关。以下是一个简化的示例,说明如何使用倍福CX8090 PLC来实现新风系统的控制: 硬件配置: 倍福CX8090 PLC温度和湿度传感器风阀执行器显示屏软件编程: 使用倍福的…

深度解析Java中的ReadWriteLock:高效处理并发读写操作

第1章:引言 大家好,我是小黑,今天咱们聊聊读写锁。当多个线程同时对同一数据进行读写操作时,如果没有合理的管理,那数据就乱套了。就好比小黑在写日记,突然来了一帮朋友,大家都想往日记本上写点…

从头安装与使用一个docker GPU环境

GPU版docker的安装与使用 欢迎使用GPU版docker安装使用说明使用官方教程安装docker新建一个GPU版docker环境调用docker环境执行本地python文件 欢迎使用GPU版docker安装使用说明 使用官方教程安装docker 导入源仓库的GPG key curl -fsSL https://download.docker.com/linux/…

基于 NFS 的文件共享实现

NFS(Network File System)即网络文件系统,它允许网络中的计算机之间通过 TCP/IP 网络共享文件资源,服务端通过 NFS 共享文件目录,客户端将该文件目录挂载在本地文件系统中,就可以像操作本地文件一样读写服务…

【AI之路】使用huggingface_hub通过huggingface镜像站hf-mirror.com下载大模型(附代码,实现大模型自由)

文章目录 前言一、Hugging face是什么?二、huggingface镜像站hf-mirror.com三、大模型一键下载1. 准备工作2. 下载代码 总结后记 前言 要玩AI大模型,Hugging face 不可错过,但资源虽不错,可奈何国内下载速度很慢,动则…

2023年全国职业院校技能大赛(高职组)“云计算应用”赛项赛卷⑦

2023年全国职业院校技能大赛(高职组) “云计算应用”赛项赛卷7 目录 需要竞赛软件包环境以及备赛资源可私信博主!!! 2023年全国职业院校技能大赛(高职组) “云计算应用”赛项赛卷7 模块一 …

数学经典教材有什么?

有本书叫做《自然哲学的数学原理》,是牛顿写的,读完之后你就会感叹牛顿的厉害之处! 原文完整版PDF:https://pan.quark.cn/s/5d5eac2e56af 那玩意真的是人写出来的么… 现代教材把牛顿力学简化成三定律,当然觉得很简单。只有读了原…

算法通关村番外篇-跳表

大家好我是苏麟 , 今天来聊聊调表 . 跳表很少很少实现所以我们只了解就可以了 . 跳表 链表在查找元素的时候,因为需要逐一查找,所以查询效率非常低,时间复杂度是O(N),于是就出现了跳表。跳表是在链表基础上改进过来的&#xff0…

回环屏障CyclicBarrier原理探究

上节介绍的CountDownLatch在解决多个线程同步方面相对于调用线程的join方法已经有了不少优化,但是CountDownLatch的计数器是一次性的,也就是等到计数器值变为0后,再调用CountDownLatch的await和countdown方法都会立刻返回,这就起不…

视图与索引连表查询内/外联和子查询

1.视图 先介绍一下视图: 从SQL的角度来看,视图和表是相同的,两者的区别在于表中存储的是实际的数据,而视图中保存的是SELECT语句(视图本身并不存储数据)。 使用视图可以轻松完成跨多表查询数据等复杂操作…