由一个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

posted @ 2022-03-03 18:25  共勉m  阅读(885)  评论(0)    收藏  举报
Live2D