metersphere逻辑整理

news2025/1/18 3:42:03

整体架构

  • Frontend: MeterSphere 的前端工程, 基于 Vue.js 进行开发。

  • Backend: MeterSphere 的后端工程, 基于 Spring Boot 进行开发, 为 MeterSphere 的功能主体。

  • Chrome Plugin: 浏览器插件, 录制 Web 访问请求生成 JMeter 脚本并导入到 MeterSphere 中用于接口测试及性能测试。

  • Jenkins Plugin: Jenkins 插件,在 Jenkins 中安装该插件后可将 Jenkins 任务中添加 MeterSphere 构建环节,用户在该构建环节中配置 MeterSphere 平台的认证信息后,可选择指定项目下的接口/性能测试进行触发执行。

  • Node Controller: 为性能测试提供独立节点类型的测试资源池, 接收来自系统的性能测试任务, 动态的启动 JMeter容器完成性能测试。

  • MySQL: MeterSphere 项目的主要数据均存储在 MySQL。

  • Redis: MeterSphere 项目登录用户的Session存储在 Redis。

  • Kafka: 接收 JMeter 产生的接口测试或者性能测试的结果数据。

  • Prometheus: 收集压力机及被测系统的监控数据。

  • Data Streaming: 从 Kafka 中获取接口测试或者性能测试结果数据进行处理后存入 MySQL 数据库。

  • Docker Engine: 为 Node Controller 提供 JMeter 容器运行环境。

一:登录逻辑

(4种登录方式)

 通过非LDAP方式登录,都会走这个接口向下

shiro安全认证逻辑

参考链接:Shiro源码分析③ :认证流程_猫吻鱼的博客-CSDN博客

http://t.csdn.cn/IACnI

shiro可以与cas整合http://t.csdn.cn/5B5kh

我们必须这样做,以防存在假定的身份——我们不想失去“真正的”主体

    @PostMapping(value = "/signin")
    //@MsAuditLog(module = OperLogModule.AUTH_TITLE, type = OperLogConstants.LOGIN, title = "登录")
    public ResultHolder login(@RequestBody LoginRequest request) {
        //先判断一下有没有登录过
        SessionUser sessionUser = SessionUtils.getUser();
        if (sessionUser != null) {
            if (!StringUtils.equals(sessionUser.getId(), request.getUsername())) {
                return ResultHolder.error(Translator.get("please_logout_current_user"));
            }
        }
        //没有登录过的话,设置认证方式为本地登录认证
        SecurityUtils.getSubject().getSession().setAttribute("authenticate", UserSource.LOCAL.name());

        ResultHolder result = baseUserService.login(request);
        // 登录是否提示修改密码
        boolean changePassword = baseUserService.checkWhetherChangePasswordOrNot(request);
        result.setMessage(BooleanUtils.toStringTrueFalse(changePassword));
        return result;
    }

二:微服务调用逻辑

在service层使用restTemplate进行微服务间的调用

三:反向生成

使用反向生成插件根据数据库表明一键生成实体类,mapper和mapper.xml(使用generatorConfig.xml生成之后,该配置文件就可以删除了,没什么关系,可能被删了)

GeneratorConfig.xml文件配置详解及IDEA中的使用,处女座小编整理,值得一看_Java Punk的博客-CSDN博客

四:minio用在哪里?

五:kafka用在哪?

生产消息

 消费消息

六:dataStreming用在哪?

七:redis用来干嘛了?

八:json工具:

  • JSON类的静态方法
  • JsonUtils.toJSONString(request.getKafkaConfig()

九:日志输出方式:

LoggerFactory.getLogger 理解_落小渔的博客-CSDN博客

LoggerUtil.info(buffer.toString());

十:添加执行请求任务

 

 

十一: Jmeter执行结果监听

 

MsDebugListener类,实时监听结果

ApiDefinitionExecResult 类的editResult方法对debugListener的结果进行处理,修改数据库中的执行结果为成功。

十二:jmeter记录请求时间

十三:统计执行开始和执行结束时间

 

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

阿里云产品试用更新,产品组合试用装更划算,快来免费上云吧

最近阿里云产品又上新了,尤其是推出了最新的产品组合试用装,个人觉得阿里云关于云产品的更新迭代是非常重视的,而且每次推出的产品不仅会惊艳到用户,而且产品功能也是随着一次迭代而更加完善、强大。前段时间也写了一篇关于为什么…

Nginx服务配置及相关模块

目录一、Nginx简介1、Nginx简介2、I/O模型相关概念3、Nginx事件驱动模型4、Nginx和Apache的区别二、编译安装Nginx服务1.关闭防火墙,将安装的Nginx软件包安装到opt目录下2、编译安装Nginx3、创建用户、组,以便于更好的管理4、创建软连接并启动5、停止Ngi…

FinClip 开发者工具重构升级!性能飞跃,体验有礼

一直以来不少开发者朋友在社区反馈,在使用 FIDE 工具的过程中,时常会遇到诸如加载不及时、代码预览/渲染性能不如意的情况,十分影响开发体验。 作为技术团队,我们深知一件趁手的开发工具对开发者的重要性,因此&#x…

企业AD域(域控服务器)的安装和配置详细教程

一、环境以及工具准备 软件:VMWare Workstation 2016 ( 下载链接:https://pan.baidu.com/s/1iX1VRilerYPGbGvX4pvaKw 提取码:75R6 ) 镜像:Windows Server 2016 ( 下载地址&#xff…

[CVPR 2020] Regularizing Class-Wise Predictions via Self-Knowledge Distillation

ContentsIntroductionClass-wise self-knowledge distillation (CS-KD)Class-wise regularizationEffects of class-wise regularizationExperimentsClassification accuracyReferencesIntroduction 为了缓解模型过拟合,作者提出 Class-wise self-knowledge distil…

SpringDataRedis客户端详解

SpringData是Spring中数据操作的模块,包含对各种数据库的集成,其中对Redis的集成模块就叫做SpringDataRedis,官网地址:https://spring.io/projects/spring-data-redis 提供了对不同Redis客户端的整合(Lettuce和Jedis&…

乡村振兴吹响品牌号角——首届中国乡村振兴品牌大会成功举办

“品牌是力量,是变量,也是流量。”这是浙江省衢州市人大常委会副主任、常山县委书记潘晓辉在首届中国乡村振兴品牌大会上分享的乡村振兴实践体会,引发与会代表的广泛共鸣。 首届中国乡村振兴品牌大会主会场 4月10日至11日,以“加…

计组2.2——数据在计算机中的存储

计组2.2定点数和浮点数定点数无符号数有符号数的定点表示——定点整数和定点小数移位运算1.算术移位1.原码算数移位2.反码算数移位3.补码算术移位4.计算机硬件的乘法是基于算数移位和加法完成的2.逻辑移位3.循环移位加减运算溢出判断硬件判断溢出法一:单一符号位法二…

51单片机语音提示盲人拐杖整点报时夜间警示超声波测距

实践制作DIY- GC0128-语音提示盲人拐杖 一、功能说明: 基于51单片机设计-语音提示盲人拐杖 二、功能介绍: 硬件组成: STC89C52单片机最小系统LCD1602显示器红色LED灯ADC0832光敏电阻采集光强DY-SV17F语音播报模块HSR04超声波测距多个按键…

如何在facebook上打造成功的个人品牌?马克·扎克伯格告诉你!

在现代商业社会中,一个企业成功的关键之一是打造出良好的企业形象,即所谓的“人设”。一个好的企业形象可以让消费者产生信任感和归属感,从而吸引更多的客户和业务机会。而如今,社交媒体成为了一个打造企业形象的重要工具&#xf…

JS操作文本域获取光标/指定位置插入

学习链接 js 如何获取与设置光标在input框的位置 在输入框/文本域中光标位置插入字符串 Web 中的“选区”和“光标” 可参考另外一篇&#xff1a;vue.js支持表情输入&#xff0c;这个比操作 div简单多了。 效果图 代码 <style scoped> textarea {outline: none;res…

微信小程序开发 | API应用案例(下)

API应用案例&#xff08;下&#xff09;6.1【案例5】模拟时钟6.1.1 案例分析6.1.2 前导知识6.1.3 钟表页面布局6.1.4 钟表页面绘制6.2【案例6】罗盘动画6.2.1 案例分析6.2.2 前导知识6.2.3 设计罗盘页面布局6.2.4 手指触摸旋转罗盘6.2.5 单击按钮操作罗盘6.3【案例7】文件上传与…

总结821

学习目标&#xff1a; 4月&#xff08;复习完高数18讲内容&#xff0c;背诵21篇短文&#xff0c;熟词僻义300词基础词&#xff09; 学习内容&#xff1a; 暴力英语&#xff1a;早上背颂并默写第19篇文章《I always knew I was going to be rich》&#xff0c;还有两三篇就达成…

Xamarin 可能的替代者.NET MAUI

Xamarin&#xff0c;虽然在 Android、iOS 和 Windows 上做得很好&#xff0c;但我们很快就会忘掉它。Xamarin的替代者已接近完成正式版并且有许多的改进&#xff1a; .NET MAUI。 就像很多人知道的那样&#xff0c;Xamarin 是微软专注于移动应用程序( iOS、Android和Windows)并…

JavaSE学习进阶day04_05 常见算法和泛型

9.1 排序概述 另外一种排序的方式&#xff0c;每一次比较完毕之后&#xff0c;本次循环中最大的数字就跑到右边去了 建议复习一下数据结构的排序章节 代码实现就不再说了&#xff0c;大家可以尝试写&#xff0c;但是我们今后一般都调用java里已经写好的排序算法。在C里也有已…

【AXU3EG】UltraScale+ MPSoC以及开发板介绍

Copyright © 2012-2020 芯驿电子科技&#xff08;上海&#xff09;有限公司 UltraScale MPSoC Zynq UltraScale MPSoC 系列是 Xilinx 第二代平台&#xff0c;其在 FPGA 内部集成了完整 ARM 处理子系统&#xff08;PS&#xff09;&#xff0c;包含了四核 Cortex-A53 加双核…

03-深度学习

一、适合图像处理的卷积神经网络 1. 为什么卷积神经网络适合图像处理? 如上图所示,如果使用全连接神经网络的话,输入图像大小为 1024x1024,第一层隐层神经元个数为 1000,第一层权重数量级为 109,过多的参数会导致过拟合。而卷积神经网络可以有效减少权重数量。 2. 卷积神…

HTML5 表单元素

文章目录HTML5 表单元素HTML5 新的表单元素HTML5 \<datalist> 元素HTML5 \<keygen> 元素HTML5 \<output> 元素HTML5 新表单元素HTML5 表单元素 HTML5 新的表单元素 HTML5 有以下新的表单元素: <datalist><keygen><output> 注意:不是所有…

【LLM】Windows本地CPU部署民间版中文羊驼模型踩坑记录

目录 前言 准备工作 Git Python3.9 Cmake 下载模型 合并模型 部署模型 前言 想必有小伙伴也想跟我一样体验下部署大语言模型, 但碍于经济实力, 不过民间上出现了大量的量化模型, 我们平民也能体验体验啦~, 该模型可以在笔记本电脑上部署, 确保你电脑至少有16G运行…

HTML学习(3)

文章目录HTML计算机代码HTML5语义元素HTML5 代码约定HTML字符集与符号HTML URLHTML 背景我的个人博客&#xff1a;欢迎来逛逛 HTML计算机代码 支持固定的字母尺寸和间距&#xff1a;<kbd> <samp> <code> <html><body><p>open a file,sel…