Heroku 本身不支持健康检查。它会重新启动崩溃的服务,但没有什么比健康检查更好的了。
有时会发生服务无响应但进程仍在运行的情况。在大多数现代云解决方案中,您可以提供由云托管服务定期调用的健康端点,如果该端点返回错误或根本不返回,它将关闭此类服务并启动新服务。
现在这似乎是工业标准,但我无法为 Heroku 找到任何解决方案。我什至可以在 Heroku CLI 中使用外部服务,但仅调用某个端点是不够的 - 如果有多个实例,它们都共享相同的 URL,负载均衡器随机调用其中一个 -> 因此可能不会在以下位置命中失败的实例全部。即使我点击它,健康检查通常也有类似“连续 3 次健康检查失败后重新启动该实例”的内容,如果有 10 个实例并且其中一个变得不健康,这是极不可能的。
你有什么解决办法吗?