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

IDEA启动两个Tomcat服务的方式 使用nginx进行反向代理 JMeter测试分布式情况下synchronized锁失效

目录

  • 引出
  • IDEA启动Tomcat两个端口的方式
    • 1.编辑配置
    • 2.添加新的端口-Dserver.port=8083
    • 3.service里面管理
    • 4.启动后进行测试
  • 使用nginx进行反向代理
    • 反向代理多个端口
    • 运行日志查看
    • 启动关闭重启
  • 分布式情况下synchronized失效
    • synchronized锁代码
    • 启动tomcat两个端口
    • nginx反向代理
    • JMeter高并发测试
      • 1.端口,路径,参数设置
      • 2请求头设置
      • 3.进行抢购的测试
  • 总结

引出


1.在idea中启动tomcat两个服务-Dserver.port=8083;
2.nginx进行反向代理多个url的配置;
3.synchronize锁代码,启动tomcat两个端口+nginx反向代理,用JMeter高并发测试,验证分布式情况下,synchronize锁失效情况;

在这里插入图片描述

IDEA启动Tomcat两个端口的方式

1.编辑配置

编辑配置

在这里插入图片描述

复制之前的服务app

在这里插入图片描述

2.添加新的端口-Dserver.port=8083

修改名字,点击修改选项

在这里插入图片描述

添加虚拟选项vm options

在这里插入图片描述

输入-Dserver.port=8083

设置新的服务的端口号

在这里插入图片描述

3.service里面管理

在service里面管理多个端口

在这里插入图片描述

service里面管理

在这里插入图片描述

4.启动后进行测试

启动后进行测试

在这里插入图片描述

使用nginx进行反向代理

start nginx --启动
nginx -s stop --停止
nginx -s reload --重启

反向代理多个端口

在这里插入图片描述

	upstream pet{server 127.0.0.1:10009;server 127.0.0.1:10002;}

server里面设置

		location / {proxy_pass http://pet;}

cmd命令启动nginx

在这里插入图片描述

运行日志查看

查看运行的日志文件

在这里插入图片描述

根据日志修改配置文件

在这里插入图片描述

再次启动,运行成功

在这里插入图片描述

启动关闭重启

在这里插入图片描述

分布式情况下synchronized失效

synchronized锁代码

    @Overridepublic synchronized HttpResp<?> killStart(Integer bookId) { // 方案1:加锁KillBook killBook =  (KillBook)redisTemplate.opsForHash().get("killBook",bookId +"");if (killBook !=null && killBook.getKillNum() > 0){killBook.setKillNum(killBook.getKillNum()-1);log.debug("当前库存-->>>"+killBook.getKillNum());redisTemplate.opsForHash().put("killBook", bookId+"", killBook);return HttpResp.ok();}else {return HttpResp.fail();}}

启动tomcat两个端口

在这里插入图片描述

nginx反向代理

在这里插入图片描述

反向代理链接

在这里插入图片描述
在这里插入图片描述

JMeter高并发测试

1.端口,路径,参数设置

在这里插入图片描述

路径设置

在这里插入图片描述

2请求头设置

在这里插入图片描述

添加请求头jwt

在这里插入图片描述

3.进行抢购的测试

在这里插入图片描述

!出现锁失效的情况

在这里插入图片描述


总结

1.在idea中启动tomcat两个服务-Dserver.port=8083;
2.nginx进行反向代理多个url的配置;
3.synchronize锁代码,启动tomcat两个端口+nginx反向代理,用JMeter高并发测试,验证分布式情况下,synchronize锁失效情况;

http://www.lryc.cn/news/147212.html

相关文章:

  • Shell 脚本入门
  • 管理类联考——逻辑——形式逻辑——汇总篇——知识点突破——性质模态
  • 无涯教程-Android - ToggleButton函数
  • unity VS无法进行断点调试
  • Pandas由入门到精通-组合与合并数据
  • Unexpected mutation of “xxxx“ prop
  • 七、基础篇总结
  • 前端面试基础面试题——2
  • docker 搭建rknn转换环境
  • 机器学习:争取被遗忘的权利
  • MATLAB实现AHP层次分析法——以情人节选取礼物为例
  • flutter使用Chanel与原生通信
  • Kubernetes技术--k8s核心技术Helm
  • C/C++学习——单例模式(懒汉模式与饿汉模式)
  • 企业微信网页开发本地调试方式
  • Prompt GPT推荐社区
  • 小程序隐私保护授权处理方式之弹窗组件
  • Java 复习笔记 - 方法篇
  • 大数据到底是好是坏?_光点科技
  • C++ while 循环
  • orm_sqlalchemy总结
  • CTFhub-文件上传-MIME绕过
  • 【校招VIP】前端校招考点之UDP
  • C++设计模式_02_面向对象设计原则
  • springcloud-gateway简述
  • 【大虾送书第七期】深入浅出SSD:固态存储核心技术、原理与实战
  • 常见矿石材质鉴定VR实训模拟操作平台提高学员的学习效果和实践能力
  • Verilog 学习路线
  • 前端三剑客中简单的两个:HTMLCSS
  • Java实现根据关键词搜索当当商品列表数据方法,当当API接口申请指南