由一个nginx反向代理两个 相同的后端服务—实现方式
1.nginx配置:在upstream下添加后端服务的IP、端口、权重、失败次数以及失败时间
server 127.0.0.1:8080 weight=1 max_fails=2 fail_timeout=3s;
server 192.168.1.236:8080 weight=1 max_fails=2 fail_timeout=3s;


2.将每个模块之间调用的host端口改为8080


目前测试的结论:
tomcat1和tomcat2同时运行,假如现在前端请求的数据到了tomcat1
- 把tomcat1停掉,请求的话数据会到了tomcat2
- 把tomcat1再启动,启动过程中请求数据会无响应。启动完成后,请求的数据还是会到tomcat2
关于上面请求数据无响应,找到原因为nginx配置的超时时间为100秒,将时间改为2秒:

会报504,说明这个服务在启动中就会被轮询到,但是出错并没有将请求转发到另一个服务上,或者是转发了但是还有其他未知的问题。。。
Nginx重试机制:https://blog.csdn.net/zhuchunyan_aijia/article/details/113355058
https://blog.csdn.net/flyfeifei66/article/details/82686002

浙公网安备 33010602011771号