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