首页 > 解决方案 > Spring MonogoDB 健康检查实际上检查了什么

问题描述

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

标签: mongodbspring-boothealth-monitoring

解决方案


这样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: 1该命令“返回构建摘要”,主要是版本 ID。

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


推荐阅读