诊断对象存储健康检查的最佳实践

Best practices to diagnose a object storage health check

我正在为依赖于对象存储 (minio) 的微服务编写健康检查程序。

我诊断对象存储是否健康的方法是调用:bucketExists 函数,验证存储桶是否存在并且我与它有稳定的连接。

由于每 1 秒检查一次,因此我需要此调用高效且工作量小。下面是minio有的功能:Minio Javascript SDK

我的问题是:使用此功能作为健康检查是否正确?有最佳实践方法吗?

提前感谢您阅读我的问题:-)

任何幂等操作(BucketHead、ListBuckets、ListObjects 等)都可用于检查服务的健康状况。 BucketExists 操作可能 return 正确并出现未找到存储桶错误。因此,请确保您可以区分 end-point 无法访问。如果您没有大量的桶,那么 ListBuckets API 是最简单的。

还有 Minio Admin API 包提供 APIs 用于管理和查询 minio 部署:https://github.com/minio/minio/tree/master/pkg/madmin,但是这似乎只在 Go 中可用。