跳到主要内容

IGeekFan.Extensions.Diagnostics.HealthChecks.FreeSql

包定位

为 ASP.NET Core Health Checks 提供 FreeSql 探针,快速验证数据库连通性与基础可用性。

典型场景

  • Kubernetes 就绪/存活探针
  • 网关或运维平台统一健康巡检
  • 发布前后数据库可用性回归检查

安装

dotnet add package IGeekFan.Extensions.Diagnostics.HealthChecks.FreeSql

最小配置

using FreeSql;
using Microsoft.Extensions.Diagnostics.HealthChecks;

var builder = WebApplication.CreateBuilder(args);

var fsql = new FreeSqlBuilder()
.UseConnectionString(DataType.MySql, builder.Configuration.GetConnectionString("Default"))
.Build();

builder.Services
.AddHealthChecks()
.AddFreeSql(fsql, name: "freesql", failureStatus: HealthStatus.Unhealthy);

var app = builder.Build();

app.MapHealthChecks("/health");

配置示例

{
"ConnectionStrings": {
"Default": "Server=127.0.0.1;Port=3306;Database=app;Uid=root;Pwd=***;"
}
}

运维建议

  • 区分 liveness 与 readiness,避免误判导致雪崩重启。
  • 将健康检查耗时纳入监控,识别数据库抖动。
  • 对外暴露健康端点时结合鉴权或网络隔离。

相关文档