Keepalived + PG 复制实现 PostgreSQL 高可用
本方案利用 Keepalived 的 VRRP 协议和 PostgreSQL 的流复制功能,实现数据库服务的自动故障转移。
架构:
- 主库和备库均安装 PostgreSQL 并配置流复制。
- Keepalived 部署在主备服务器,通过 VRRP 协议创建虚拟 IP 地址 (VIP)。
- 应用程序连接 VIP 进行数据库操作。
工作原理:
- 正常情况下,主库持有 VIP,应用程序连接 VIP 访问主库。
- 主库故障时,Keepalived 检测到故障,将 VIP 转移到备库。
- 应用程序连接新的 VIP,访问备库进行数据库操作。
优势:
- 自动故障转移,提高数据库可用性。
- 配置简单,易于维护。
不足:
- 需要额外部署 Keepalived 软件。
- 故障转移过程中可能会有短暂的服务中断。
适用场景:
- 对数据库可用性要求较高的场景。
- 预算有限,无法使用更昂贵的商业高可用解决方案。