nginx-Frontend, das Back-End besteht aus n Docker-Containern und der Docker-Container ist nginx+php-fpm. Es ist bekannt, dass jeder Container ausfallen kann, wenn der Container ausfällt Fehler, und im Front-End kommt es gelegentlich zu Netzwerkverzögerungen
Aktuelle Praktiken und Probleme
Angenommen, das Intervall ist auf 3 Sekunden eingestellt und der Fall ist 2, dann wird die Anfrage, wenn das Backend unmittelbar nach der letzten Prüfung aufhängt, noch für fast 6 Sekunden an das fehlerhafte Backend weitergeleitet
Angenommen, das Timeout ist auf 1 Sekunde eingestellt. Wenn das Front-End-Netzwerk verzögert ist, kommt es bei allen Back-Ends sofort zu einem Timeout und 502 wird direkt an den Benutzer zurückgegeben. Wenn Sie jedoch den Timeout-Wert erhöhen, macht die Gesundheitsprüfung keinen großen Sinn, da das Backend innerhalb von 1 Sekunde nicht mehr herausfiltern kann
不知道你的前端应用场景是怎么样的,貌似负载很高的样子,不太可能直接暴露错误给用户吧,大不了提示用户稍后再试下,这深入研究还是得看看什么技术架构,从根上找问题
个人感觉这东西是避免不了的 负载大了就优化程序或者增大集群 该出的错误还是要出 只不过写个含糊的名字就可以了
淘宝也经常系统忙 知乎没事还自己给自己服务器提问呢