当前位置: 首页 > news >正文

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

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

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

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

RPC技术

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

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

  • RPC技术: 泛指所有能够实现远程数据交互的接口实现技术。http本质也是一种RPC技术实现之一。另外还有GRPC,dubbo-RPC【dubbo协议】都是属于RPC技术实现方式,不同的rpc实现的区别在于使用的协议不一样。

  • 服务提供者: 提供可访问的rpc的接口服务

  • 服务调用者:在程序运行过程中,需要调用其他子系统提供的rpc服务,本质就是接口调用

服务发现机制

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

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

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

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

  • 当系统需要对外提供一个RPC的接口调用服务的时候,系统启动后自动讲自身的IP+端口+接口地址等信息提交到“注册中心”保存。

注册中心

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

  • 1)各个子系统启动后会调用注册中心的接口,把子系统的服务信息提交过去;

  • 2)注册中心保存子系统的服务信息;

  • 3)服务调用者调用接口之前需要在注册中心进行查询具体的服务提供者的信息,如IP+端口+接口地址等信息;

  • 4)调用才能实现接口调用

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

  • nacos:阿里巴巴提供的开源注册中心技术

  • zookeeper:独立的一个服务,目前国内广泛使用

  • eureka: 由springcloud老版本提供,用的相对较少。

Jmeter进行Dubbo接口测试

Jmeter测试dubbo结果:

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

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

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

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

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

http://www.cnnetsun.cn/news/753077.html

相关文章:

  • 【Pytest】结构介绍
  • 《使命召唤20》启动报错缺失 msvcp140.dll 怎么办?2026最新修复评测,哪款工具能一键挽救游戏体验?
  • 基于Python的社区设备报修住户反馈智能预测系统设计 计算机毕业设计选题 计算机毕设项目 前后端分离【源码-文档报告-代码讲解】
  • 免费文献检索网站推荐:高效获取学术资源的实用平台指南
  • ACPI!PciConfigSpaceHandlerWorker函数中的ACPI!GetOpRegionScope最终调用了ACPI!IsPciDevice
  • 岩石图像分割系统源码&数据集分享 [yolov8-seg-C2f-CloAtt等50+全套改进创新点发刊_一键训练教程
  • paperzz 毕业论文:搞定本科论文的智能「通关秘籍」
  • 2026年大模型就业全景:技术演进、核心技能与职业发展指南
  • 导师推荐!8款AI论文写作软件测评:本科生毕业论文必备
  • 学历普通也能找到高薪!CSDN博主教你:用网络安全打破“双非”魔咒,锁定高薪offer!
  • lvgl v8之led控件使用
  • [精品]基于微信小程序的郑大强上门做菜预定服务平台 UniApp
  • 2026年去深圳滕讯参观需要一些什么申请手续?
  • 救命神器9个AI论文软件,助你轻松搞定本科生毕业论文!
  • 自学网络安全前先看看这三个阶段你能不能接受(含路线图)
  • ISTA 6-SAMSCLUB 标准解析:Sam’s Club 运输包装测试指南
  • SpringBoot 秒实现在线 Word 编辑、协同、转化等功能
  • Java版LeetCode热题100之分割等和子集:从NP完全问题到0-1背包的深度解析
  • java_ssm5个人博客日志通讯录通信簿2qwac
  • 面向通用矩阵乘法(GEMM)负载的GPU建模方法:原理、实现与多场景应用价值
  • 亲测好用自考必看TOP8个AI论文网站
  • 源码自主,运营自由,构建专属智慧点餐平台源码系统,带完整的搭建部署教程
  • 定制化在线点餐小程序源码系统,支持复杂组织形态的子商户模式
  • 基于S7-200PLC和组态王组态双容水箱液位控制系统设计资料合集(仿真+IO表+报告)(设计源文件+万字报告+讲解)(支持资料、图片参考_相关定制)_文章底部可以扫码
  • 自动麻醉系统在 MIS-AG v0.1 下的模拟审计报告
  • 全功能可二次开发的在线点餐系统源码,灵活且安全的在线点餐平台
  • 国外的文献怎么找:实用检索方法与资源平台推荐
  • 国外学术论文怎么找:实用方法与资源指南
  • 机械行业设计文档如何通过CKEditor实现Excel跨表粘贴?
  • 在JAVA web应用中,如何处理超大附件的分块上传?