我正在设计一个所有微服务都是集群的架构。 例如:5个Web服务器,1个集群db,1个集群队列系统,8个集群工作者(如发送电子邮件,发送短信,...)从队列中消耗(任务由Web服务器推送)
我想知道最佳做法是为了检测每个微服务集群'是健康的,如何快速失败'在这种情况下整个服务中的一个微服务不可用。
所有服务都位于ha代理的nginx后面 - 它应该是nginx监控所有内容并失败吗?如何检查所有微服务的健康状况?
答案 0 :(得分:0)
您应该使用Pingometer等外部监控服务。
这使您可以定期设置简单的运行状况检查(HTTP,HTTPS,Ping等),并在节点出现故障,不可用或没有使用正确内容进行响应时接收警报。
在您的联系人中,您可以设置在服务中断时触发的webhook。您可以使用webhook触发故障转移,更改DNS记录等。
我们设置类似的东西并且它运作良好。
您还可以在内部使用某些内容来监控nGinX本身(例如,廉价工作人员+重新生成它们),但这并不能让您知道服务是在外部运行的(就像监控服务一样)。