目录
引出
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锁代码
@Override
public 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锁失效情况;

博客介绍了在IDEA中启动Tomcat两个端口的方法,包括编辑配置、添加新端口等步骤。还阐述了使用Nginx进行反向代理的配置,以及查看运行日志、启动关闭重启操作。最后通过JMeter高并发测试,验证了分布式情况下synchronized锁的失效情况。

3万+

被折叠的 条评论
为什么被折叠?



