"Failover"
- AWS ElastiCache 的責任邊界:managed 接手了什麼、又默默留下什麼
ElastiCache 把 failover、patching、snapshot、跨 AZ 複製接走,但 cache stampede、client 重連、key 設計、eviction policy 還是你的事。本文用 shared responsibility 拆解 managed 的真實邊界、展開 engine 選擇與 cluster mode 配置、5 個把『以為 AWS 全包』寫成事故的 production 踩坑,以及 ElastiCache 到 MemoryDB 的 durability 邊界
- PostgreSQL Patroni HA:從 leader 失聯到 client 重連的 5 段 failover lifecycle
Patroni 把 PostgreSQL HA 拆成 detection / election / promotion / reconfiguration / recovery 五段 lifecycle、每段都有獨立配置跟 failure mode;DCS quorum + watchdog 防 split-brain、async/sync replication 取捨、5 個 production 踩雷、跟 PgBouncer / HAProxy / cert-manager 整合
- MySQL Orchestrator Failover:HA 工具自己怎麼 HA?raft cluster + GTID-based promotion 的兩段 paradox
Orchestrator 是 MySQL HA 自動 failover 的 de facto standard、但讀者第一個問題往往是「HA 工具自己會壞嗎」。本文走 Orchestrator 的雙層架構(管 MySQL 的 raft cluster + 被 raft 管的 orchestrator instance)→ topology discovery → failure detection → failover decision tree → promote action → 5 production 踩雷(split-brain 跟 fencing / pre-failover hook 失敗 / anti-flapping window / GTID errant transaction / VIP 跟 ProxySQL 整合斷層)→ 跟 ProxySQL / Patroni / RDS 對比
- Redis Sentinel 與 failover 時序:從 master 死掉到 client 重連的每一段
Redis Sentinel 的 failover 不是一個瞬間動作,是 down 偵測 → quorum 確認 → 選主 → 提升 → 配置廣播 → client 重連的一條時序鏈,每一段都有自己的延遲與失敗模式。本文展開 Sentinel 的判定模型與這條時序、5 個讓 failover 卡住或丟資料的 production 踩坑,以及 Sentinel 撐不住該往 Cluster 或 managed 走的邊界
- Failover
說明主要服務或節點失效時如何切換到備援能力
- Aurora Cross-AZ Failover:RTO 量測、endpoint routing 與 application reconnect 契約
Aurora cross-AZ failover lifecycle(detection / promotion / DNS update)、< 30 秒 RTO、application DNS cache 跟 connection pool 對齊、Standard Chartered 受監管場景為什麼用獨立 cluster 而非 Global Database failover
- MySQL Replication Failover Lab
MySQL source / replica、replication lag、promotion、client route、Orchestrator frame 與 validation evidence
- PostgreSQL HA Failover Drill
PostgreSQL Patroni 或 managed failover 的 promotion、client reconnect、pooler behavior 與 incident timeline