Spring MongoDB 健康检查实际检查什么

What does the Spring MonogoDB health check actually check

如果您的 Spring 引导应用程序 uses MonogDB, Spring Boot will automatically provide a health check endpoint 包括 MonogDB 是否 "healthy"。但这究竟检查了什么?检查显示 MonogDB 是 "up" 是什么意思?什么样的故障会导致"down".

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 "returns a build summary",主要是版本 ID。

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