在与客户合作时,我们经常会遇到一个问题:“哪种备用类型最适合我们的高可用性需求?” 在回答这个问题之前,我们会确保客户完全理解每种备用类型背后的概念,并提供必要的指导。
备用服务器本质上是主数据库的副本,当主数据库发生故障时它可以接管主数据库。
PostgreSQL备用设置有多种类型,每种类型都有各自的用例、优缺点。在本篇博文中,我们将讨论三种类型:冷备用、温备用和热备用。
1.备用类型
1.1. 冷备用
冷备用服务器指的是一台备份服务器,在主服务器发生故障之前,它会处于关闭状态或不运行 PostgreSQL。它通常依赖于定期备份或文件系统快照。
当主服务器出现故障时,您可以通过恢复备份或激活服务器来手动启动备用服务器。
1.2. 热备用
温备用服务器是指持续从主数据库接收 WAL(预写日志)文件的备用服务器,但它不处理应用程序查询。它保持恢复模式,应用传入的 WAL 文件以保持更新。
如果主服务器出现故障,则可以通过手动故障转移将热备用服务器提升为新的主服务器。
1.3. 双机热备
热备服务器是一个主动备用服务器,它以近乎实时的方式从主服务器流式传输 WAL 数据。在应用更改的同时,它还支持只读查询,这对于卸载报告或分析工作负载非常有用。
如果发生故障,可以通过自动故障转移快速将备用数据库提升为主数据库。
2. 每种待机类型的优点、缺点和用例
| 待机类型 | 优点 | 缺点 | 何时使用 |
|---|---|---|---|
| 冷备用 | 设置简单,成本极低,主节点无复制开销 | 缓慢/手动恢复,数据丢失风险高,需要手动干预 | 低预算环境,非关键系统,测试或开发环境 |
| 热备用 | 比冷备用恢复速度更快,RPO 可以接近或为零,通过适当的监控,可以将 RTO 最小化 | 比冷备用更昂贵,直到升级后才可用于读取查询,故障转移通常是手动的 | 区域故障转移的 DR 设置,当适度停机时间是可以接受的,没有读取可扩展性需求的环境 |
| 双机热备 | 自动处理故障转移,通过热备用功能更轻松地升级 PostgreSQL,最大程度减少停机时间。支持只读查询 | 需要专用工具来配置,长读取查询,这可能会延迟 WAL 重放并导致复制滞后。如果只有一对主备服务器,则存在脑裂风险。 | 任务关键型生产系统,需要读取可扩展性的高流量应用程序,需要最少停机时间和数据丢失的环境 |
3. 结论
选择正确的待机类型实际上取决于您的业务需求:
冷备用→成本低,停机时间长,数据丢失率高→适用于非关键系统。
热备用→中等成本,中等恢复,有限使用→适用于灾难恢复。
热备用→成本更高,停机时间最短,可扩展读取→最适合关键任务生产系统。
原文地址:https://stormatics.tech/blogs/cold-warm-and-hot-standby-in-postgresql-key-differences
原文作者: Semab Tariq
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




