AWS RDS跨区域复制场景下跨地域写入主库延迟过高问题求助
跨区域RDS主库写入延迟问题解决方案
VPC peering的效果说明
跨区域写入延迟的核心瓶颈是物理距离带来的光速传播限制,eu-west-1(爱尔兰)到美区、亚太的天然往返延迟就分别在100ms、180ms以上,无法完全消除。
- 跨区域VPC peering的流量会走AWS内部骨干网,相比公网连接的场景,可以避免公网抖动、数据包丢包重传的额外开销,能够把你当前2.5s的单次写入延迟降低到300~500ms区间,可以满足大部分非强实时写入的业务需求,但不可能达到同区域写入的性能水平。
低成本优化方案(无需迁移到Aurora全球数据库)
以下方案的成本都远低于升级到Aurora全球库的支出,可以按需选择:
- 应用层配置长连接池
你当前2.5s的高延迟很大概率包含了每次写入新建TCP连接的三次握手、TLS认证开销。在美区、亚太的应用端配置数据库长连接池,复用已有连接执行写入操作,配合跨区域VPC peering使用,通常就能把单次写入延迟压到500ms以内。 - 本地队列异步写入
对写入延迟要求极高、且接受最终一致性的业务,可以在美区、亚太各部署一个本地消息队列,应用写请求先写入本地队列返回成功,再由专属同步服务异步批量同步到eu-west-1主库,仅需提前做好写入操作的幂等校验,避免重复写入即可。 - RDS MySQL跨区域多主集群
RDS MySQL 8.0及以上版本支持跨区域多主集群配置,无需迁移到Aurora,整体成本比Aurora全球库低35%左右,三个区域都可以写入本地主节点,RDS内部自动完成跨区域数据同步,支持自定义冲突处理规则。 - 写入逻辑批量优化
把业务中单条单次的插入逻辑调整为批量插入,大幅减少跨区域请求的次数,也能有效降低业务侧感知到的整体写入耗时。
内容的提问来源于stack exchange,提问作者Ryan
相关产品推荐
相关产品推荐

