分布式架构:Dubbo 协议如何做接口测试

本贴最后更新于 277 天前,其中的信息可能已经斗转星移

前言

传统单体架构是一个应用程序进程内处理完所有的逻辑:一个系统糅合了多个功能,如注册 --登录--充值--余额管理--用户积分等,所有的功能模块都是在一个应用程度里处理完的;一个请求过来--> 到应用程序系统-->数据库处理-->返回结果,这种就是单一架构的系统;这样实现的缺陷耦合性太高,一个大型而又全面的系统,如果修改其中某个模块的代码和bug,很容易造成其他模块的bug,牵一发而动全身。所以,我们想要分而治之。

分布式系统就是一种方法: 一个请求处理有多个系统协同完成。比如上面的案例:注册 --登录 放在一个系统里实现;充值--余额管理放在一个系统里实现;用户积分用一个系统实现。修复某个功能bug可以单独修改这个系统的代码,而不会影响其他的功能模块;

子系统之间独立部分,资源隔离,避免相互影响,可以相互远程调用;目的是可以提高系统的可维护性和拓展性。Dubbo分布式体系是分布式的一种典型代表。

Image.png

RPC技术

在分布式架构中有一个核心的技术叫做RPC,用来做远程接口调用。系统独立拆分为多个子系统之后,子系统之间的数据交互需简要进行远程调用。

1)RPC: remote produced call,远程过程调用。

Image.png

服务发现机制

消费端自动发现服务地址列表的能力,是微服务框架需要具备的关键能力,借助于自动化的服务发现,微服务之间可以在无需感知对端部署位置与 IP 地址的情况下实现通信;

服务提供者的rpc的接口需要的地址+端口等信息,开发人员不能在代码里指定和写死,因为部署的环境是变量。

那么怎么去调用这些接口呢?

分布式技术框架里实现了一个服务发现功能:

注册中心

注册中心是一个独立程序,提供的服务:

Image.png

注册中心有很多技术可以实现,但是每种技术的核心目的和工作原理是一样的,所以掌握其中一种就可以了:

Jmeter进行Dubbo接口测试

Jmeter测试dubbo结果:

1、插件: 把工具安装包里的插件放到Jmeter的/lib/etc目录下, 重启Jmeter即可。

2、添加线程组,选择dubbo 取样器:里面内容需要根据你的项目具体来填写:

Image.png

3、运行后查看结果树里查看接口运行结果即可完成接口测试。

回帖
请输入回帖内容 ...