【问题标题】:Monitoring cluster of micro services (web,queue,db,ha proxy)监控微服务集群(web、queue、db、ha代理)
【发布时间】:2015-04-24 05:53:11
【问题描述】:
我正在设计一个所有微服务都集群化的架构。
例如:5 个 Web 服务器、1 个集群数据库、1 个集群队列系统、8 个集群工作者(如发送电子邮件、发送短信等),从队列中消费(任务由 Web 服务器推送)
我想知道检测每个“微服务集群”是否健康的最佳实践,以及在这种情况下如何让整个服务“快速失败”,其中一个微服务不可用。
所有服务都位于一个用于 ha 代理的 nginx 后面 - 是否应该是 nginx 监控所有内容并失败?如何检查所有微服务的健康状况?
【问题讨论】:
标签:
nginx
architecture
health-monitoring
microservices
【解决方案1】:
你应该使用像Pingometer这样的外部监控服务。
这使您可以定期设置简单的运行状况检查(HTTP、HTTPS、Ping 等),并在节点出现故障、不可用或未响应正确内容时接收警报。
在您的联系人中,您可以设置一个 webhook,该 webhook 在服务出现故障时触发。您可以使用 webhook 触发故障转移、更改 DNS 记录等。
我们设置了类似的东西,而且效果很好。
您也可以在内部使用某些东西来监控 nGinX 本身(例如,廉价工人 + 重生他们),但这不会让您知道服务正在外部运行(就像监控服务一样)。