Redisヘルスチェックコンポーネント設計
キャッシュおよびセッションストアレイヤーの接続状態、レイテンシ、メモリ使用量、キーエビクション率を監視するRedisヘルスチェックコンポーネントを設計します。
Component Checks
詳細な説明
Redisヘルスチェック
Redisヘルスチェックは、キャッシュレイヤーまたはセッションストアが動作可能であることを確認します。Redisはパフォーマンス最適化として使用されることが多いため、Redis障害はDOWNではなくDEGRADEDになる場合があります。
レスポンスコンポーネント
{
"redis": {
"status": "UP",
"duration": "3ms",
"message": "Redis connection established",
"details": {
"version": "7.2.3",
"usedMemory": "45MB",
"maxMemory": "256MB",
"connectedClients": 12,
"hitRate": "94.5%"
}
}
}
チェック項目
- PINGレスポンス: 基本的な接続テスト
- レイテンシ: 操作のラウンドトリップタイム
- メモリ使用量: maxmemoryの消費割合
- エビクション率: キーが予期せずエビクトされていないか?
- 接続クライアント数: 接続制限に近づいていないか?
ヘルスしきい値
| メトリクス | 健全 | 劣化 | 異常 |
|---|---|---|---|
| PINGレイテンシ | < 5ms | 5-50ms | > 50ms / タイムアウト |
| メモリ使用量 | < 70% | 70-90% | > 90% |
| ヒット率 | > 80% | 50-80% | < 50% |
Redis DOWN = サービスDOWNか?
アーキテクチャによります。Redisがデータベースフォールバック付きのキャッシュのみの場合、DEGRADEDとして扱います。Redisがフォールバックなしのプライマリデータストアまたはセッションストアの場合、DOWNとして扱います。
ユースケース
キャッシュ、セッション管理、またはメッセージブローカーとしてRedisを使用するアプリケーション。キャッシュの利用不可がパフォーマンスに影響するが完全なサービス停止を必要としない場合。