微服务字面上理解一个是微,另一个是服务,用大白话描述就是每个模块负责很小的功能范围视为微,而服务则是通过API的形式向其他模块提供服务

在早期的单体架构中,整个网站都运行在一套服务器集群上,共享计算机所有计算和存储资源,这种架构的优势在于当应对小规模的用户的时候,功能实现相对比较容易,可以快速开发,并且依赖较少,但这种架构没有处理高并发的能力,没有处理大数据量的能力,除非不计成本的整体做负载均衡

到了微服务时代,每个服务都用一个或多个服务实例来承载,对外通过API的方式提供给其他调用者,对内通过服务网关提供统一接口,每个服务通过服务注册将自己注册在服务列表中,并通过服务配置中心来配置服务,在这个架构中每个服务都有自己的进程和数据库,因此在某个服务性能不足的时候便可以单独扩容,从描述中不难看出这种架构的优点,除了灵活高可用外,系统版本发布升级等都有很大的灵活度

在微服务架构设计过程中,服务边界的划分是个关键,理论上可以无限细分服务边界,然每个微服务做足够小的事情,然而这并不是很合理,服务边界的划分需要掌握一个平衡点,太多的微服务会导致一个操作的调用链太长,对排查问题造成很大的麻烦,并且系统的延迟也会变得更大,在单体系统中通过内存通信,相对时间可以忽略不计,但在微服务中,大量使用RESTful或RPC,会导致通信产生的开销过大

测试平台微服务化

微服务架构有着非常多的优点,然而并不是适用于任何场景,合适的场景用合适的框架在是正确的选择,例如公司的产品很单一,测试规模便不会很大,并且团队成员有限,那么单体架构的优势反而更大,反之产品复杂多样,测试平台的扩展性和配置能力就会有比较高的要求,以此类推,选择适合的

服务边界划分

  • 测试资源服务:主要用于测试资源的保存、修改及调用,并且能够通过给定的参数进行资源查找
  • 测试配置服务:静态配置、动态配置及带逻辑功能的配置,如果将静态配置和动态配置的读取和保存都统一起来,那么便可以将这两者归并为一类,服务可以通过配置的名称来提供配置的新增、修改和保存;带有逻辑功能的配置则可以单独开辟一个微服务来提供
  • 测试报告服务:保存和读取测试用例执行的测试报告
  • 测试日志服务:保存和读取测试用例执行的测试日志
  • 测试用例管理服务:负责管理测试用例,通过扫描测试用例来维护测试用例信息并提供查询
  • 测试用例执行服务:给定测试用例或测试列表,执行相应的测试用例

最终,这些服务将自己的接口注册在服务网关上,提供外部调用者访问,一般是API Gateway,这样便可以通过服务网关来调用各个微服务提供的接口,并配置相应的服务,从使用者的层面来说,并不会感知微服务的存在,所有的配置都会通过服务网关分发到相应的微服务中,例如测试工程师对测试资源进行了配置,然后将其保存,这个时候可能会调用一个RESTful API将测试资源的信息作为body传递给服务网关,服务网关就会将这个API分发到测试资源微服务中,测试资源微服务对其进行处理后,返回执行结果

微服务之间也可以相互调用,除非人为的设定了界限,例如不允许某些服务之间调用,否则在测试执行的过程中,会调用测试资源微服务,获取测试资源,同样的也会调用测试配置服务,将结果和日志写入测试报告

自动化测试平台化[v1.0.0][微服务化测试平台]相关推荐

  1. 基于Spring Cloud微服务化开发平台-Cloud Platform后台管理系统 v3.1.0

    介绍: Cloud-Platform是国内首个基于Spring Cloud微服务化开发平台,具有统一授权.认证后台管理系统,其中包含具备用户管理.资源权限管理.网关API 管理等多个模块,支持多业务系 ...

  2. ZLMS教学管理平台系统V1.2.0最新版本发布,支持纯Web视频直播点播,还带运营在线支付功能!完全免费提供!...

    ZLMS教学管理平台系统V1.2.0最新版本发布,支持纯Web视频直播,点播!还带在线支付功能! ZLMS 开发团队在综合参考了各方面的合理建议之后,经过两个多月的紧张开发及测试,终于发布V1.2.0 ...

  3. android8 测试,Android 8.0 Oreo 国内可用测试平台上线

    原标题:Android 8.0 Oreo 国内可用测试平台上线 Android 8.0 Oreo 已经发布一个月了,无数开发者已经跃跃欲试,想在这个全新版本的 Android 系统上让自己的应用一展身 ...

  4. 自动化测试平台化[v1.0.0][模块化设计]

    模块化设计是一种拆分的设计思想,将一个产品拆分为很小的功能,根据需求将一些功能要素组合而形成一个相对独立的子系统,并通过特定的标准接口和外界通信,如此可以将不同功能的子系统进行不同形式的组装,形成不同 ...

  5. 自动化测试平台化[v1.0.0][Django模型]

    设计系统表 Django提供了完善的模型层,来创建和存取数据,它包含你所储存数据的必要字段和行为,每个模型对应数据库中唯一的一张表,模型避免了我们直接对数据库的操作 每个模型是一个Python类,集成 ...

  6. 开源进展|区块链跨链协作平台WeCross v1.1.0发布

    WeCross是完全开源的区块链跨链协作平台,致力于促进跨行业.机构和地域的跨区块链信任传递和商业合作,有助于实现异构区块链系统之间安全可信的互操作. 2020年12月,WeCross v1.0.0正 ...

  7. Android 8.0 Oreo 国内可用测试平台上线

    Android 8.0 Oreo 已经发布两个月了,无数开发者已经跃跃欲试,想在这个全新版本的 Android 系统上让自己的应用一展身手,我们很清楚,Android 8.0 为了更流畅的系统,以及更 ...

  8. linux下dvwa安装教程,Kali linux2.0系统安装DVWA渗透测试平台 焕焕

    作者:icq8756c1a2 焕焕 最近一段时间一直研究Web防火墙,所以需要搭建一个渗透测试平台,以便学习常见的安全漏洞,如:SOL注入,XSS,文件上传包含等.Kali linux2017.1是官 ...

  9. 基于 GraphQL 平台化 BFF 构建及微服务治理

    01 什么是BFF Backend For Frontend,即服务于前端的后端. 面对越来越复杂的多端应用的需求,后端提供的 RESTful 接口形式难以应对多变的页面需求,这时候需要一层专门的 B ...

最新文章

  1. 技术图文:Matlab VS. Numpy 常见矩阵
  2. php trace 图形,php 方便水印和缩略图的图形类
  3. [JAVA]引入目录下所有jar包等问题
  4. [待解决]报错的脚本
  5. PCB叠层及相关板材介绍
  6. Weka java.lang.reflect.InvocationTargetException
  7. maven工程拆分与聚合的思想
  8. 【学习笔记】《Go 指南》
  9. bzoj2186 莎拉公主的困惑 积性函数
  10. 解决li在ie,firefox中行高不一致问题
  11. Vscode之运行更新出错
  12. php源码怎样打包APP_HBuilder打包App方法
  13. 容量治理-扩容、限流和降级
  14. 一行 Python 的丧心病狂
  15. MarkDown的使用教程
  16. Shiro 第十七章 OAuth2集成
  17. ios 计算两个时间相差秒数_iOS NSDate时间换算
  18. 网络安全实验室CTF—脚本关 writeup
  19. 卷积神经网络-猫狗识别(附源码)
  20. 时光中老去,歌声里永恒丨孟庭苇,一位值得被岁月温柔以待的女人!

热门文章

  1. 数据结构与算法|马踏棋盘算法(小甲鱼)C语言代码的算法分析
  2. bios密码解锁软件_YOGA14S解锁BIOS后进阶玩法—包含性能提升10%—20%
  3. java毕业设计校园内推系统mybatis+源码+调试部署+系统+数据库+lw
  4. 视频直播之webp礼物解决方案
  5. 马蜂窝用户内容贡献能力模型构建
  6. WKWebView、Safari、SFSafariViewController的区别与选取
  7. VisionPro之脚本(一文读懂VisionPro脚本原理与使用方法)
  8. Conflux 进阶课 | 初始阶段通证发行数量
  9. 安全课堂|关于小程序AppSecret密钥泄露漏洞官方
  10. [Mongodb 5.0]将副本集中的Secondary节点变为Arbiter节点