MySQL数据库双活方案,有哪些局限?有什么可以继续改进的地方呢?

MySQL数据库双活方案,有哪些局限?有什么可以继续改进的地方呢?显示全部

MySQL数据库双活方案,有哪些局限?有什么可以继续改进的地方呢?

收起
参与20

查看其它 1 个回答冯帅的回答

冯帅冯帅  数据库管理员 , 贝壳金服

A,B两端数据库根据业务不同来划分主次对外提供服务,两端数据库都处于活动状态,都能独立工作且双向同步,举个例子,业务A,优先接入A端数据库,同时,A端的数据会同步到B端,B端会有少量业务A接入,同时也需要同步B端数据到A端数据库,当发生数据故障或者网络中断的时候,启用B端数据库作为唯一接入提供方,对外提供服务,在修复好故障或者网络正常后,当数据同步一致性启用A端作为少量业务A的接入方,这里面A,B两端数据库之间通过稳定、低延时的私有专线连接实现数据与配置的同步。这里面会根据延迟的重要性不同和所需网络带宽的确定优先原则,确保业务的持续性,提高用户的访问体验。

如果业务量不大,没必要做数据库双活,因为数据库双活需要的运维资源成本、开发成本都非常高,注意机房间的延时问题,延时大的可能达到100ms以上,如果业务需要多次跨机房请求应用的话,延迟的问题会彻底放大, 跨机房的专线很大概率会出问题,要做好运维或者程序层面的容错,核心业务和次要业务需要分而治之,双活的业务形式越简单越好,甚至可以只做核心业务,数据库双活的监控、部署、测试等流程也要跟上,在业务允许的情况下,考虑用户分区,特别是用户,订单,活动等业务比较容易做到,控制跨机房消息体大小,越小越好。

数据双活是片面的,真正的双活,要在数据中心的从上到下各个层面,都要实现双活。存储、服务器、网络、数据库、应用,各层面都要有双活的设计,这样才能真正意义上实现数据中心层面的双活,企业中的IT基础架构设施都是多年发展和积累起来的,从硬件设备、网络、存储、应用软件、中间件到数据库都是各种各样的,不同层面的整合各家又都有不同的技术,在多种可能的技术选择方案中寻求平衡和控制是比较复制的,所以整合我认为是目前实现数据中心双活的难点,技术选型的承上启下更是关键。

融资租赁 · 2017-10-19
浏览2150

回答者

冯帅
数据库管理员贝壳金服

冯帅 最近回答过的问题

回答状态

  • 发布时间:2017-10-19
  • 关注会员:4 人
  • 回答浏览:2150
  • X社区推广