High Availability

22 篇内容

工程实践Salesforce Engineering

How Intelligent Load Shedding Prevents Cascading Failures in Tier-0 Systems

文章以 Salesforce Cloud Atlas 身份数据存储为例,讨论 Tier-0 身份服务在流量突增和上游重试下如何演变为级联故障。团队原有每实例限流在自动扩缩容和多租户场景中暴露阈值失真、全局容量不可见和 noisy neighbor 问题。重构方案包含基于队列时延提前感知压力、优先削减低优先级请求的智能负载卸载,以及无中心协调器的全局配额管理,由各服务器共享客户用量并独立限流。文章据此总结保护服务而非单机、先观测后执行、优雅降级、简化配置、纵深防御和可逆发布等原则。局限是问答形式偏高层,缺少具体算法、参数、实验数据和故障演练细节,读者难以直接复现,但架构权衡和原则仍有迁移价值。

推荐收录。文章直接呈现 Tier-0 身份平台从每实例限流到智能负载卸载与无协调器全局配额的工程演进,并给出队列时延、优先降级、多租户公平和纵深防御等可迁移取舍。适合 SRE、分布式系统与高可用平台工程师阅读,用于设计限流、过载保护和级联故障防护。局限是未展开算法与实验数据,需结合团队实际验证。

工程实践PlanetScale Blog

Blocking cutovers to save replication slots

文章介绍 PlanetScale Postgres 为何会在主从切换时因逻辑复制槽未就绪而主动阻断 cutover。作者先区分物理槽与逻辑槽:物理槽供副本记录 WAL 进度,逻辑槽则把 WAL 解码为面向 CDC 消费者的事件流;若提升的副本没有同步的逻辑槽书签,下游会丢失事件或停摆。PlanetScale 的 Kubernetes operator 会检测 failover、hot_standby_feedback、sync_replication_slots 等配置,发出告警并在计划内切换前等待槽 ready,从而避免静默数据丢失。正确配置包括创建槽时设置 failover=true、在控制台登记槽名,并开启 hot_standby_feedback 与 sync_replication_slots;后者默认关闭,因为会带来 vacuum horizon 固定、主库膨胀和长事务风险。该方法主要面向 PlanetScale Postgres 和逻辑复制槽场景,并非完整搭建指南,且宽限期后仍允许强行切换。

推荐收录,因为文章给出了具体可验证的故障模式、参数配置和平台阻断策略,清楚解释了逻辑复制槽未同步时切换会造成下游数据丢失。适合 PostgreSQL、SRE、CDC 与数据管道维护者阅读,其 failover=true、slot 登记和 hot_standby_feedback 权衡可迁移到自建高可用集群;注意其行为与 PlanetScale 平台托管能力强绑定,原生 Postgres 需自行补齐自动化与保护逻辑。

技术文章TiDB 社区博客 - 技术解读

一文了解平凯数据库的容灾能力:集群内高可用、集群级容灾、历史数据恢复

文章系统介绍平凯数据库的三层容灾体系。第一层是集群内多副本高可用:数据分片在 TiKV 多副本、经 Raft 多数派写入,可容忍节点、磁盘和局部网络故障,但保护边界限于单集群和单机房。第二层是物理复制,在生产与灾备集群之间建立独立集群级复制,支持跨机房/地域接管,并区别于逻辑复制。第三层是 BR 与 PITR,用于误删、数据污染和勒索后的历史时间点恢复。文章强调三者互补而非替代,但没有给出 RPO/RTO、性能开销和具体运维步骤,偏产品能力概述。

推荐收录,因为它清晰划分集群内高可用、集群级物理复制与 BR/PITR 历史恢复的故障边界,能帮助数据库架构师判断多副本不等于灾难恢复,并理解跨机房容灾与数据回滚的不同目标。主要风险是产品视角较强,缺少 RPO/RTO、性能开销和演练细节,适合作为容灾体系设计的概念框架而非实施手册。

工程实践Oxide Public RFDs

RFD 0053: Control plane data storage requirements

该 RFD 界定 Oxide 控制平面持久化数据存储需求:需存储实例、虚拟磁盘、网络资源、服务器、用户/SSH 密钥等对象,支持持久 CRUD、分页一致性枚举和乐观并发控制,并讨论 ACID 是否必需。非功能要求包括强一致、有限故障下可读写、零计划停机、无人值守、可诊断、安全、开源与低成本,且把逻辑复制和在线 schema 迁移列为一等能力。文中估算单机架约万级实例、约 100 GiB 数据,外部 API 延迟需数百毫秒内、数据库访问约 150ms 内,短生命周期负载可达千级 rps;作者据此主张先评估现有系统,并给出从调研、Jepsen 失败分析到部署、故障与长时压测的漏斗式选型方法。候选聚焦 CockroachDB、Yugabyte、TiKV/TiDB、VoltDB 等 NewSQL,排除传统 RDBMS、NoSQL、FoundationDB 与 ZooKeeper/Etcd 类系统;但该文仍是早期需求框架,未给出最终基准和选型结果。

推荐收录。该文不是产品宣传,而是把控制平面数据存储的功能/非功能需求、规模与延迟估算、自研与采购取舍、候选 NewSQL 及排除项、以及分阶段评估方法写得很具体,对设计高可用控制平面、做分布式数据库选型或需要向团队说明存储约束的工程师有直接参考价值。局限是它属于早期 RFD,未给出实测基准和最终选型,读者应把它当作需求清单和评估框架而非结论。

工程实践Oxide Public RFDs

RFD 0048: Control Plane Requirements

本文是 Oxide Rack 控制平面需求型 RFD,界定数据平面与控制平面边界,并列出开发者 API、运维 API、生命周期、远程支持和指标采集等功能。作者主张控制平面状态为权威状态并尽量同步传播到数据平面,提出可用性、持久性、强一致性、可扩展性和安全性等非功能要求。存储部分比较 FoundationDB/CockroachDB、PostgreSQL 复制与 Raft 加本地存储等方案,并强调逻辑复制价值。迁移部分区分计划内 live migration 与非计划迁移,讨论自动恢复的分裂脑、故障放大和资源耗尽风险。多机架控制平面被推迟,许多细节仍开放,故本文更像需求与设计取舍清单。

推荐收录。文中以明确的需求条目和设计取舍讨论了控制平面 API、权威状态、同步/异步传播、可用性与持久性目标、存储选型及自动迁移风险,证据密度高。适合云基础设施、分布式系统和控制平面架构读者作为需求清单与风险检查表;但它是需求型 RFD,很多实现细节与多机架方案仍 TBD,使用时需结合后续 RFD 与实现验证。

工程实践Oxide Public RFDs

RFD 0024: Multi-Rack Oxide Deployments

这份 Oxide RFD 讨论多机架部署的故障域与资源作用域。作者沿用云行业概念,提出从 server、rack、cell、AZ、region 到 fleet 的层级,并定义每层默认故障爆炸半径与共享资源边界。随后给出实例、存储、网络、镜像、项目和认证等资源的建议作用域及汇总表,例如实例归 AZ、存储卷归 Cell、虚拟网络和项目归 Region、认证归 Fleet。文中还讨论客户需自行构建真实独立故障域、跨 AZ/跨 Region 链路信任与加密、管理平面单一视图等开放问题。当前多为设计假设,尚未实现验证,且默认 v1 可能仅面向单机架,细节仍会随其他 RFD 演进。

推荐收录。该 RFD 直接给出从服务器到 fleet 的故障域层级和资源 coherence 汇总表,并系统权衡了多机架下的可用性、网络、存储与 API 作用域,属于可迁移的架构设计材料。适合云基础设施、分布式系统和控制平面设计者阅读,用于设计多 AZ/多 Region 的部署边界;但需注意其尚未落地验证,部分结论仍标注为开放问题。

工程实践TiDB 社区博客 - 实践案例

干货分享|杭州银行平凯数据库(TiDB 企业版)核心实践:从架构落地到开发治理的关键经验

文章以杭州银行新一代核心系统采用平凯数据库(TiDB 企业版)替换传统集中式数据库的实践为主线,总结了从架构落地到开发治理的完整经验。作者提出按业务等级差异化设计部署架构:普通系统采用单集群多副本,重要系统采用“3+1 副本”与自动同步复制,核心系统则按“5+1 副本”建设“两地三中心”容灾体系,实现 RPO=0、RTO 不超过 30 秒。在开发治理方面,文章重点说明了数据库对象命名、数据类型映射(如 Oracle 的 Number 与 ZHS16GBK 向 Decimal 与 UTF8MB4 的转换)、索引数量控制、联表数量和事务拆分等规范,并通过自研 DAP 平台将规范嵌入开发测试发布流程,以强控和提醒规则保证执行。文章还提到连接池生命周期配置、慢 SQL 日志关联和常态化巡检等运维治理手段。整体上这是一次金融级分布式数据库国产化的系统实践,但对于小型系统或非金融场景,部分设计可能偏重,需要结合实际业务等级裁剪。

推荐收录,因为文章基于真实金融核心系统上线案例,提供了从部署架构、容灾设计、SQL 规范到平台管控的完整闭环,具有明确的约束条件和取舍逻辑,不是泛泛的产品宣传。适合正在从事分布式数据库选型、迁移或国产化改造的架构师、DBA 和开发管理者参考,其中的分级部署思路、开发规范落地方法和连接池配置策略可迁移到其他数据库工程实践。

工程实践QuestDB Engineering

Read QWP: QuestDB's own binary wire protocol for ingestion and queries

QuestDB 10.0引入新的二进制列式线协议QWP,用于替代ILP(文本摄取)和PGWire(行式查询)的组合。文章介绍了QWP的设计动机:性能差距(QWP摄取19M行/秒,ILP仅5.3M;查询结果回传220M行/秒)以及单一客户端同时支持读写、DataFrame和Arrow双向传输、内置故障转移的需求。QWP在线上传输类型化列而非行,SYMBOL列字典编码,客户端将批量数据零拷贝映射到Arrow缓冲,但可空列、位压缩时间戳和zstd压缩仍需额外处理。文章还详细说明了多主机故障转移机制(服务器通告角色和区域,客户端路由至主或副本)、存储转发队列(支持磁盘持久化和重放)以及至少一次语义,建议在表上声明DEDUP UPSERT KEYS。作者对比了ILP/PGWire/REST的使用场景,并指出QWP适合新项目和自己编写的客户端,第三方工具仍应使用既有兼容协议。

这是一篇来自QuestDB官方工程博客的技术文章,提供了QWP协议的完整设计细节和基准数据,包括性能对比、柱式格式、Arrow集成、故障转移和存储转发机制,内容有实质深度而非单纯宣传。适合数据库内核开发者、时序数据库用户以及需要设计高性能数据摄入/查询协议的系统工程师阅读。文章中的协议取舍、迁移路径和客户端行为规范具有可迁移价值,但需注意官方立场可能对性能数字偏乐观,读者应结合自身场景验证。

技术文章Phil Eaton - databases

An intuition for distributed consensus in OLTP systems

文章旨在建立对OLTP系统中分布式共识(尤其是Raft算法)的直觉。作者先解释Raft的基本机制:领导者选举、日志复制、提交和跟随者追赶,然后阐明分布式共识通过副本提供高可用和线性一致性,同时强调其本身并不提供水平扩展,水平扩展需通过分片实现。文章讨论了添加节点对延迟和可用性的权衡,并列举了实际优化技术,包括快照、批处理、磁盘/网络优化和灵活法定人数。此外还涉及安全与测试方法,如Jepsen、确定性测试和TLA+规格验证。最后指出共识开销大,应根据一致性需求选择合适方案。文章主要适用于OLTP系统,未深入非OLTP共识算法或具体实现细节。

推荐收录,因为文章用简洁直观的方式梳理了Raft在OLTP系统中的运作机制,并纠正了分布式共识常被误解为水平扩展的问题。作者从线性一致性、可用性、节点扩展、优化和测试等多个角度展开,既有理论直觉也有工程实践视角,适合分布式系统初学者和数据库工程师建立基础框架,同时为进阶读者提供了丰富的进一步阅读线索。

工程实践LinkedIn Engineering - Scalability

Modernizing the LDAP and Kerberos infrastructure that secures ...

文章详细介绍了LinkedIn为保障Hadoop集群安全而对其LDAP/Kerberos基础设施进行的现代化改造。旧架构存在单点故障、手工运维繁琐、缺乏测试环境等问题,团队构建了全新的多主复制集群,通过四主节点星型复制、三hub冗余、HAProxy负载均衡和自动故障转移消除了单点故障,并将部署、证书刷新等操作集成到标准部署栈中实现自动化。迁移过程采用先读后写、跨集群复制同步、延迟监控和1分钟TTL的DNS切换,实现了零事故切换和可回滚。文章还说明了GSS-API与负载均衡结合的DNS约束,以及避免双写的一致性考量,适用于大规模分布式系统认证基础设施的演进参考。

推荐收录,因为文章提供了完整的大规模LDAP/Kerberos基础设施迁移案例,包含真实的单点故障痛点、多主复制架构设计、自动化运维改造和零停机迁移方法,证据具体且可迁移。适合负责安全认证、分布式系统高可用或基础设施现代化的工程师参考,特别是面对类似目录服务、Kerberos或负载均衡部署的团队。

工程实践LinkedIn Engineering - Scalability

Scaling maintenance: Rethinking HDFS block placement for exaby...

文章介绍了LinkedIn在管理约5EB数据和100亿对象的HDFS集群时,如何通过重新设计块放置策略来加速维护操作。默认BPP在维护时会导致大量数据复制和网络拥塞,而采用升级域BPP并定义20个升级域,将同一机架节点归入同一升级域,可以消除维护时的数据复制需求。文章详细描述了对3+EB存量数据进行分批再分布的过程,以及发现开源升级域BPP的写性能问题并开发新BPP排除已选升级域节点的改进。最终实现了每天升级约4.5%节点,显著提升了可靠性和安全性。

推荐收录,因为文章提供了真实超大规模HDFS集群维护中的完整工程案例,包含问题定义、架构取舍、数据迁移方案和性能优化细节,证据充分。适合负责分布式存储、大规模基础设施或HDFS运维的读者参考,其中升级域划分、利用维护模式减少复制和分批迁移的策略可直接迁移到类似系统。

工程实践PlanetScale Blog

The dangers of Postgres subtransactions

文章深入分析PostgreSQL子事务缓存溢出机制及其双重危害:当单个事务累积超过PGPROC_MAX_CACHED_SUBXIDS(默认64)个子事务时,快照标记溢出,迫使所有查询走pg_subtrans SLRU查找,导致集群吞吐量骤降;同时在构建新只读副本时,溢出的RUNNING_XACTS记录使副本无法获取完整活动事务快照,长期无法启用热备模式。作者通过WAL解码、基准测试和火焰图验证了性能退化路径,并给出事务超时监控、pg_stat_slru跟踪等检测与缓解方法。指出重建PostgreSQL或等待CSN快照补丁合并是根本性方向,但当前需依赖运维手段降低风险。

推荐收录,因为文章不仅解释了子事务缓存溢出的原理,还提供了可复现的基准测试和火焰图分析,并展示了从现象到机制、从监控到缓解的完整工程路径。对于PostgreSQL数据库管理员、后端开发者及高可用架构师,本文能够帮助他们识别和规避这类集群级性能悬崖,其故障排查思路和监控设计也可以迁移到其他数据库系统的类似内部机制问题中。

工程实践TiDB 社区博客 - 实践案例

15秒切换、零数据丢失!永康卫健委用平凯数据库(TiDB企业版)物理复制筑牢全民健康平台"生命线"

文章记录了永康市卫健委全民健康平台为解决业务高峰负载过高与容灾需求,采用平凯数据库物理复制能力进行架构改造的实践。改造将主集群专注核心事务,备集群承担报表查询等读操作和容灾角色,实现读写分离。上线后故障切换低于15秒且数据零丢失,系统负载下降,运维操作秒级完成。文章解释了物理复制基于日志实时同步所有数据库对象,支持最大保护、最大可用、最大性能三种模式,并与 TiCDC 逻辑复制对比,指出物理复制适合集群级容灾和读写分离,逻辑复制适合异构同步与数据管道。实际指标依赖网络拓扑和负载,且相关能力仍在演进。

推荐收录,因为文章提供了真实医疗场景下的数据库高可用与读写分离改造案例,包含明确的问题定义、技术选型依据、实施效果和方案对比。适合关注核心系统容灾、分布式数据库选型或架构优化的读者。可迁移价值在于展示了物理复制在强一致需求下的应用边界,但需注意厂商案例可能带有一定推广成分。

工程实践Salesforce Engineering

How Salesforce Eliminated Single-Region Risk and Reduced Downtime Blast Radius at 4B Metrics/Min

Salesforce内部可观测平台Argus需处理每分钟40亿指标,原单区域架构导致全局可用性风险及高昂的数据传输成本。团队采用地理本地化策略,将指标就近处理和存储,避免全量复制,并通过联盟查询层与Elasticsearch元数据映射实现智能路由,仅查询数据所在区域,减少跨区域开销。同时引入HTTP 206部分响应和UI提示来处理部分地域不可用,保障用户体验。文章还介绍了通配符查询的元数据缓存优化,以及持续容量规划和架构审查来维持隔离边界。该方案已在五个生产区域中的四个上线,显著降低爆炸半径,但跨区域延迟和流量成本仍为后续关注点。

这篇工程案例详实记录了如何将单区域可观测平台迁移到多地理架构,解决全局不可用风险并控制成本,包含查询联邦、部分失败处理和元数据缓存等关键设计,为构建高可靠、大规模可观测系统的团队提供了可复用的架构思路和实践参考。

技术文章PlanetScale Blog

Postgres backups under the hood

文章深入解析 PostgreSQL 的三种备份方式:逻辑备份(pg_dump)、文件系统备份和连续归档。首先介绍 pg_dump 如何利用 MVCC 获取一致性快照,并指出其在特大库上可能因长期持有快照导致事务回卷而触发只读模式的风险。接着说明文件系统备份虽然速度快,但需要停机或原子快照支持,且无法实现时间点恢复。重点阐述了连续归档的原理:通过持续归档 WAL,结合 full_page_writes 在线备份文件系统后,利用 WAL 中的完整页镜像修复备份过程中可能出现的“涂抹”数据,从而得到一致且可恢复的备份。文章还解释了基于此机制的时间点恢复过程,以及 PlanetScale 如何通过每 12 小时自动备份与控制 WAL 重放窗口来保持恢复速度。最后简要提及大规模备份的挑战,为介绍分布式 PostgreSQL 与分片备份埋下伏笔。

本文不只是罗列备份命令,而是清晰解释了 pg_dump 的事务回卷风险、WAL 与 full_page_writes 如何解决在线备份的一致性难题,以及时间点恢复的内部逻辑。这些内容对数据库管理员、后端工程师和运维人员有直接参考价值,能帮助理解备份策略的真实约束和取舍,迁移至其他数据库系统时也有启发。

工程实践ClickHouse Engineering

PostgresBench: Measuring the impact of High Availability on Managed Postgres performance

文章介绍 ClickHouse 团队开源的 PostgresBench 在加入高可用(HA)配置后的第二轮结果,对比 ClickHouse Managed Postgres、Crunchy Bridge、AWS RDS、Aurora 与 Neon 在匹配主库算力、相近持久化级别下的表现。作者把托管 Postgres 的 HA 实现分为共享无(本地存储 + PostgreSQL 流复制 + 热备节点)与共享存储(计算存储分离、提交路径写多份 WAL)两类,并以“主库故障后 2 分钟内恢复且零数据丢失”作为 HA 定义。在 16 vCPU/64 GB、500 GB 数据集、10 分钟压测下,同步复制代价明显:ClickHouse 双同步备库 TPS 降至单机 79%、p99 升至 254%,RDS Multi-AZ 集群 p99 升至 627%。结论是匹配持久化级别时 ClickHouse Managed Postgres 吞吐与延迟优于其他托管服务;但数据为厂商自测、存储后端冗余配置未公开,对 Neon 的评价带明显倾向,需谨慎解读。

推荐收录:文章给出可复现的开源基准、明确的 HA 定义(2 分钟 RTO + 零丢失)、各厂商实例配置,并用数据量化同步复制对 p99 尾延迟的放大(最高 6 倍以上),对做数据库选型与 HA 架构权衡的工程师有直接参考价值。风险在于这是厂商自测且对比自家产品的稿件,Aurora/Neon 存储冗余未公开、对 Neon 评价带倾向,建议以方法学与相对趋势为主,而非绝对排名。

工程实践Marc Brooker

Aurora DSQL: Scalable, Multi-Region OLTP

Marc Brooker在这篇博客中介绍了Aurora DSQL论文,重点阐述了系统的整体目标:构建一个简化应用构建与运维、无需关心规模与可靠性的关系型数据库。文中强调了架构解耦的设计思想,将查询处理、事务、复制和控制面拆分为独立服务,并总结了来自Aurora与DynamoDB等系统的运营教训,如避免大缓存、提供强一致可扩展读、将昂贵操作下推到存储层。作者还讨论了乐观并发控制(OCC)在避免客户端阻塞和减少尾延迟方面的优势,以及多区域场景下的快速读写能力。博客最后指出,硬件与数据中心设计的进步使得强一致性成为更优选择,并提供了论文链接供进一步阅读。

作为Aurora DSQL系统的核心设计者之一,作者以第一视角提炼了论文的关键设计决策与运营经验,浓缩了现代分布式OLTP数据库的核心理念。文章对解耦架构、一致性选择、多区域扩展等问题的论述既权威又简明,适合分布式系统工程师、架构师及关注数据库技术演进的研究者快速获取全局认知,其总结的教训可迁移至其他大规模系统设计。

工程实践知乎 - SmartCode 得物技术

得物 OceanBase 落地实践

文章详细记录了得物将 OceanBase 作为多模数据库引入的完整工程实践。面对 MySQL 在 TP/AP 混合负载下性能瓶颈、存储成本高和运维复杂等问题,DBA 团队从选型对比、性能压测、复杂 SQL 优化到业务迁移全流程展开验证。通过计划缓存、分区裁剪、列存索引、并行执行和 Hint 干预等五步优化,将两类聚合查询的执行时间分别从 1.3s 和 3.9s 降至 0.01s 和 0.02s,并获得与 DuckDB、StarRocks 对比的详细性能数据。在真实业务迁移中,SQL 平均耗时下降 88.3%,存储压缩率超过 80%,总体降本 43%,并消除了异构数据同步和手动分流风险。文章同时总结了迁移中遇到的实时物化视图与 DDL 冲突、SQL 语法兼容等具体问题及应对方案,并规划了运维体系转型和团队能力建设路径。该实践适用于有 TP/AP 混合负载、追求成本与可用性平衡的场景,但需注意新功能边界和版本限制。

推荐收录。文章不是泛泛的产品介绍,而是提供了从选型对比、性能压测到生产迁移的完整技术链条,包含具体的 SQL 优化思路、量化收益(近 200 倍提升、43% 降本)和踩坑记录,对考虑 OceanBase 落地或从 MySQL 迁移到分布式数据库的架构师、DBA 有直接可复用的参考价值。文中的五步优化法、物化视图使用约束和运维体系转型经验均具备可迁移性,风险提示也较为坦诚。

工程实践Datadog Engineering

When failover isn’t safe: Building high-availability PostgreSQL on Kubernetes

这篇文章复盘了 Datadog 在一次 reliability gameday 中发现的 PostgreSQL 故障切换不安全问题:表面上集群看似具备高可用能力,但在 Kubernetes 环境下,原有方案无法保证 failover 时的数据一致性与切换正确性。作者进一步说明了他们如何引入 Patroni 与同步复制,重新设计状态管理、领导者选举和故障转移流程,以提升 PostgreSQL 集群在容器编排环境中的可用性与安全性。文章的重点不只是“如何搭建”,而是明确了 stateful 数据库在 K8s 上做 HA 时必须面对的一致性、自动化与运维验证边界。

推荐收录,因为它不是泛泛介绍 PostgreSQL 或 Kubernetes,而是基于真实演练暴露出的故障切换风险,给出了一套有约束条件的高可用改造思路。对于需要在容器平台上运行状态型数据库、设计故障转移机制或做可靠性演练的读者,这篇文章有很强的迁移价值。

工程实践PlanetScale Blog

Anatomy of a Throttler, part 2

本文继续分析 throttler 的部署形态,先比较单体服务、独立多实例、主备切换以及引入 agent/API 的方案。作者指出,加入采集代理或跨节点协作后,系统会从单一同步组件演变成分布式多组件系统,复杂度、权限边界和版本兼容问题都会上升,同时采样间隔叠加也会让指标更陈旧。随后文章给出分布式 throttler 的几种切分方式:按可用区、按功能、按主机或按服务粒度,并以 Vitess tablet throttler 为例说明如何在 shard 范围内聚合 replica lag,让 primary 代表整个 shard 做限流判断。最后,文章讨论如何降低 throttler 自身开销,包括客户端退避、空闲时降低采样频率或休眠、以及在无大任务时减少 heartbeat 生成,避免 binlog、磁盘和备份成本被额外放大。其边界在于,这些策略都依赖对业务负载形态、重试行为和一致性要求的准确预判。

收录价值明确:文章直接比较了 throttler 的单体、分布式与 agent 化方案,并用 Vitess 的 shard 级限流给出可落地的架构证据。适合做 MySQL/Vitess、SRE 和基础设施设计参考,但需要注意其结论高度依赖心跳粒度、轮询频率和客户端重试假设。

工程实践PlanetScale Blog

Amazon Aurora Pricing: The many surprising costs of running an Aurora database

这篇文章系统拆解了 Amazon Aurora(以 MySQL 工作负载为主)的计费构成,指出它远不只是“选个实例”这么简单,而是要同时评估实例规格、预留实例折扣、副本数量、存储模式、跨可用区/跨区域流量、备份保留、监控和代理层等多项费用。作者特别说明了 burstable 与 memory-optimized 的差异、标准存储与 I/O-optimized 的取舍,以及当 I/O 费用占比超过一定阈值时,I/O-optimized 才可能更划算。文章还把读写副本、Global Database、RDS Proxy、蓝绿部署、自动备份和 Performance Insights 逐项拆开,说明这些“高可用/可运维能力”往往会直接放大账单。最后,文章以 PlanetScale 的定价和托管能力作对比,强调其在连接池、跨区复制、变更管理和监控上的简化与打包,但整体内容对 Aurora 成本建模尤其有参考价值;局限在于只覆盖 Aurora 非 Serverless 场景,且比较部分带有明显产品立场。

推荐收录,因为它不是泛泛介绍云数据库,而是把 Aurora 的主要成本项逐条展开,给出了实例、副本、I/O、流量、备份和监控的实际计费视角。适合做数据库选型、云成本估算和高可用架构评审时参考,但读者也需注意文中 PlanetScale 对比部分存在产品宣传倾向。

工程实践PlanetScale Blog

Considerations for building a database disaster recovery plan

文章围绕数据库灾难恢复(DR)方案的构建展开,先区分了高可用(HA)与灾难恢复的目标:前者强调通过复制和自动故障切换尽量不中断服务,后者强调在重大故障后尽快恢复业务。作者进一步解释了 RPO 与 RTO 的含义,并指出两者越小,恢复方案的复杂度和成本越高,因此必须结合业务可承受的数据损失和停机时间来设定。文章特别强调数据库是有状态系统,不能像无状态应用那样简单替换实例,因此备份、复制和恢复流程都需要按数据一致性来设计。随后对 MySQL 复制、异步/半同步模式、逻辑/物理备份、全量/增量备份及其性能影响做了说明,指出跨区域复制和在副本上执行备份更适合降低恢复时间和主库负载。最后给出一套可落地的 DR 规划建议,包括分级恢复优先级、用收入损失衡量停机成本、自动化恢复、定期演练以及验证备份可恢复性,适合构建面向生产环境的数据库韧性方案。

文章直接给出了数据库灾备规划的关键证据:RPO/RTO 设定、复制与备份策略、跨地域恢复、自动化和演练验证,内容不是泛泛而谈。适合负责 MySQL、云上基础设施或生产稳定性的工程师参考,尤其可迁移到任何有状态系统的容灾设计中。