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