说明:这里仅说明单台服务器的情况.Docker Container 分别映射到不同的端口. Docker Container里通过tomcat对外提供服务.
1.如图,如果反向代理服务器发来一个请求,请求到达Nginx后,假设是匹配到Service A的Upstream,这时会根据nginx.conf里对应的分发算法,分配到端口10100或10101.
2.假设10100对应的docker container 内的tomcat挂了(通常是因为container所持有的可用内存不足,导致该container内的tomcat被杀掉.)
3.此时请求正好被分配到10100端口,这时就会导致出现404.
4.如果此时,我们做一份流量的复制,并且加上超时时间.则当请求发送到10100,超时或404后,再将复制的流量发送到10101端口即可.

本文探讨了在Nginx配置中如何通过流量复制及设置超时时间来解决因Docker容器内Tomcat服务不可用而导致的404问题。文中详细解释了在服务分发过程中遇到故障时,如何将流量重新导向另一个健康的容器实例。
172万+

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



