0

我正在设计一个所有微服务都集群的架构。例如:5 个 Web 服务器、1 个集群数据库、1 个集群队列系统、8 个集群工作人员(如发送电子邮件、发送短信等),从队列中消费(任务由 Web 服务器推送)

我想知道最佳实践是为了检测每个“微服务集群”是否健康,以及在这种情况下如何让整个服务“快速失败”,其中一个微服务不可用。

所有服务都位于一个用于 ha 代理的 nginx 后面 - 是否应该是 nginx 监控所有内容并失败?如何检查所有微服务的健康状况?

4

1 回答 1

0

您应该使用像Pingometer这样的外部监控服务。

这使您可以定期设置简单的运行状况检查(HTTP、HTTPS、Ping 等),并在节点出现故障、不可用或未响应正确内容时接收警报。

在您的联系人中,您可以设置一个 webhook,该 webhook 在服务出现故障时触发。您可以使用 webhook 触发故障转移、更改 DNS 记录等。

我们设置了类似的东西,它工作得很好。

您还可以在内部使用某些东西来监控 nGinX 本身(例如,廉价工人 + 重生他们),但这不会让您知道服务正在外部运行(就像监控服务一样)。

于 2015-02-24T00:36:40.530 回答