Appearance
Redis 依存 ― 落ちたらどうなる?
KeyTerms
| 用語 | 意味 | なぜ重要か |
|---|---|---|
| Graceful Degradation | システムの一部が失敗してもサービス全体が停止しない設計 | Redis喪失時に機能を制限しながらも動き続けられる |
| 単一障害点(SPOF) | 1つのコンポーネント障害でシステム全体が止まるポイント | すべてをRedisに依存すると、Redis停止でシステムダウン |
| フォールバック | プライマリリソースが失敗した時に代替手段を使う処理 | キャッシュ失敗時にDBやAPIから直接取得する |
| キャッシュ層 | データベースと応用層の間にあるデータ一時保存層 | 高速応答性を提供するが、失敗すると遅くなるだけで止まらない設計にすべき |
| 依存先の分散(Multiple Backends) | キャッシュ・セッション・Queue等を異なるサービスで運用すること | 1つの障害の影響範囲を限定でき、全体の可用性が向上する |
Prerequisite
- システムの可用性と信頼性: 外部システムは常に正常とは限らないことを認識している
- マイクロサービス・単一障害点の概念: 依存関係が多いほどリスク増加することを理解している
- フォールバック処理の基本: 代替経路をコード内で実装する必要性を知っている
Phase 1: 観察
LIBOT での Redis の役割:
| 用途 | 影響範囲 |
|---|---|
| キャッシュ | 外部 API 結果、計算結果のキャッシュ |
| セッション | 管理画面のログイン状態 |
| Queue | 非同期ジョブの格納と処理 |
| レート制限 | API リクエストのカウント |
Phase 2: 判断
AI禁止ゾーン
Redis サーバーが 完全に停止 しました。
- キャッシュ として使っている部分はどうなりますか?
- セッション として使っている部分はどうなりますか?
- Queue として使っている部分はどうなりますか?
- システムは 動き続けますか?
AIに聞く前に、自分の頭で考えてみましょう。
テキストを入力すると有効になります