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: 1
。 That command "returns a build summary",主要是版本 ID。
因此,健康检查表明您的应用程序可以连接到 MonogoDB 并在合理的时间内执行简单的命令。 MonogDB 可能会在可执行文件本身中包含响应该命令所需的所有信息;它不需要执行数据存储的查询。因此检查不太可能表明数据访问可以正常完成并且性能良好。
如果您的 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: 1
。 That command "returns a build summary",主要是版本 ID。
因此,健康检查表明您的应用程序可以连接到 MonogoDB 并在合理的时间内执行简单的命令。 MonogDB 可能会在可执行文件本身中包含响应该命令所需的所有信息;它不需要执行数据存储的查询。因此检查不太可能表明数据访问可以正常完成并且性能良好。