通过流量复制解决某个服务节点无响应的问题

时间:2021-09-02 06:35:55

通过流量复制解决某个服务节点无响应的问题

说明:这里仅说明单台服务器的情况.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端口即可.