当前位置: 首页 > 知识库问答 >
问题:

为动态健康检查服务配置领事

郭单鹗
2023-03-14

我有一个带有2个主机的consur堆栈(用于测试)。1台主机仅在引导模式下运行consur,另一台主机在注册器下运行客户端模式,用于自动注册服务(均在docker上运行)。现在,如果我启动一个应用程序(例如8080端口)容器,注册器将检测并将其注册到Consor,但它没有我想要的http检查。我发现Registrator有自动注册健康检查的选项是将SERVICE\u 8080\u check\u HTTP:'/'添加到应用程序容器,它工作得很好。现在我有一个问题,如果我停止docker应用程序容器,这个应用程序没有运行状况检查,所以我无法获取状态来编写警报或替换失败的应用程序。因此,问题是,我如何获得动态健康检查服务,但仍然获得状态通过或失败,或警告或严重,谢谢

共有1个答案

韩恺
2023-03-14

当您停止容器时,Registrator取消注册服务。如果您有该服务的多个实例,这应该不是问题。

如果这毕竟是您的用例,请不要使用注册器进行服务注册,您可以使用Consul的HTTP API注册服务或包含代理的服务定义文件。

无论如何,uou真的不应该运行一个Consor服务器-https://www.consul.io/intro/index.html

 类似资料:
  • 对于我一直在开发的一个微服务,我创建了一个自定义健康检查类,扩展了AbstractHealthIndicator,并能够在中获得输出 但当我向领事注册服务时,健康检查状态为失败。 尝试将执行器url配置为领事健康检查为spring。云领事发现健康检查url=http://localhost:8080/actuator/health。但它仍然失败,出现错误http://localhost:8566/

  • 因此,我们正在使用全局MTL部署istio 1.0.2,目前进展顺利。对于健康检查,我们为服务添加了单独的端口,并根据文档进行了配置: https://istio.io/docs/tasks/traffic-management/app-health-check/#mutual-tls-is-enabled 我们的应用程序端口现在位于 8080 上,运行状况检查端口位于 8081 上。完成此操作后

  • 在设置ELB健康检查的对话框中,它会声明: 如果实例未通过健康检查,它将自动从负载均衡器中删除。自定义健康检查以满足您的特定需要。 当健康检查失败时,将从ELB后面删除实例。我的问题是围绕“健康门槛”设置。当你悬停在帮助上时,它会说: 在声明EC2实例健康之前连续运行状况检查成功的次数。 如果实例声明为健康的,它是否被拉回负载平衡组?

  • SOFABoot 为 Spring Boot 的健康检查能力增加了 Readiness Check 的能力。如果你需要使用 SOFA 中间件,那么建议使用 SOFABoot 的健康检查能力的扩展,来更优雅的上线应用实例 引入健康检查扩展 要引入 SOFABoot 的健康检查能力的扩展,只需要引入以下的 Starter 即可: <dependency> <groupId>com.alipay

  • 健康检查配置概述。 filter.http.HealthCheck filter.http.HealthCheck proto { "pass_through_mode": "{...}", "endpoint": "...", "cache_time": "{...}" } pass_through_mode (BoolValue, REQUIRED) 指定过滤器是否在传递模式下运

  • 健康检查架构概述。如果为集群配置了健康检查,则会发出相应的统计信息。详见请参考统计相关文档。 HealthCheck HealthCheck.Payload HealthCheck.HttpHealthCheck HealthCheck.TcpHealthCheck HealthCheck.RedisHealthCheck HealthCheck HealthCheck proto { "ti