【问题标题】:What does the Spring MonogoDB health check actually checkSpring MongoDB 健康检查实际上检查了什么
【发布时间】:2019-09-16 10:01:17
【问题描述】:

如果您的 Spring Boot 应用程序 uses MonogDB,Spring Boot 将自动提供一个 health check endpoint,其中包括 MonogDB 是否“健康”。但是这个检查到底是什么?显示 MonogDB 已“启动”的检查是什么意思?什么样的故障会导致它“宕机”。

【问题讨论】:

标签: mongodb spring-boot health-monitoring


【解决方案1】:

MongoHealthIndicator 这样做:

@Override
    protected void doHealthCheck(Health.Builder builder) throws Exception {
        Document result = this.mongoTemplate.executeCommand("{ buildInfo: 1 }");
        builder.up().withDetail("version", result.getString("version"));
}

也就是说,它会尝试执行 MonogoDB 命令buildInfo: 1That command“返回构建摘要”,主要是版本 ID。

因此,健康检查表明您的应用程序可以连接到 MonogoDB 并在合理的时间内执行一个简单的命令。 MonogDB 可能会将响应该命令所需的所有信息合并到可执行文件本身中;它不需要执行数据存储的查询。因此,检查不太可能表明数据访问可以正常完成并且可以执行。

【讨论】:

  • 我的集合中只有 5 个文档,但是当我获取它时需要一分钟多的时间。这是否意味着 mongo 不健康?
猜你喜欢
  • 2017-07-16
  • 1970-01-01
  • 2021-09-13
  • 2019-11-03
  • 1970-01-01
  • 1970-01-01
  • 2021-04-20
  • 2012-11-17
  • 2017-05-27
相关资源
最近更新 更多