ARTICLE DETAIL

资讯详情

深耕编程入门与网站建设的一线实战洞察。

两地三中心不是画图:业务系统承载的3个真实取舍

两地三中心不是画图:业务系统承载的3个真实取舍 很多人以为「两地三中心」就是画三个圈——同城两个、异地一个,存储一同步、数据库一复制,完事。但真到生产环境你会发现,问题从来不在架构图,而在每个业务系统到底把容灾的压力交给哪一层扛。这一层选错了,RPO/RTO 指标就会在数据同步链路里悄悄降级,平时看不出,一切换就露馅。本文站在独立架构师视角,不推任何具体产品,只讲清三个最常见的真实取舍。取舍一:RPO=0 该让存储扛,还是数据库扛?「数据零丢失」是最容易被当成口号的指标。落地时它有两种主流实现,但代价完全不同:存储双活(HyperMetro / VPLEX 一类)把两个机房各一套存储,用软件虚拟成一个逻辑卷,数据实时双向同步。任何一套存储故障,业务完全无感——因为对上层来说它只是一块"盘"。代价:资源利用率低(两份硬件只跑一份数据)、成本高;而且必须配仲裁机制防脑裂(通常异地第三站点部署仲裁服务器,防止两个中心都以为自己是主)。数据库同步(Oracle RAC Extended / MySQL MGR 一类)在数据库内核层做同步复制。实测下来,同城裸光纤直连、延迟压到 2ms 以内时,MGR 的表现相当稳定,RPO 可以到 0。代价:更灵活,但应用得适配连接路由,对 DBA 的运维要求更高。真实取舍点:别两层都指望。存储双活 + 数据库同步双层都做同步复制,脑裂窗口和一致性校验成本直接翻倍,多数企业扛不住这个复杂度。更务实的做法是——数据库同步做 RPO=0 的主通道,存储双活做兜底。核心账务系统常采用这种"双保险",但外围系统一般不会这么奢侈。实测:同城两 DC 经裸光纤专线直连,往返延迟约 1ms 级;RPO=0 的主通道落在数据库同步层(MySQL MGR /
返回列表