多机房部署:如何对数据存储服务进行同步

  • A+

1597221102465472

随着机房行业的发展,多机房部署技术也得到了飞速发展

伴随着快速发展,一个新的问题浮现出来——数据存储服务如何同步

建机房网作为华为核心渠道商

秉承客户第一的价值观,致力于为客户提供最优的解决方案

今天就为您介绍一下,多机房部署时,数据存储服务同步的解决方案

1597221102753854

网络延迟是影响数据同步存储最大的因素

因为数据的同步可以分为,数据库,缓存,消息队列,session等

针对这一特性,有两种解决方案:多机房单集群和多机房多集群部署

首先是多机房单集群中如何部署?

 1597221102731095.

整个系统中存储服务是唯一的一个集群

只有一个master节点做读写分离设计,所有机房上的服务只能向数据存储集群上的master节点提交写请求

而在读数据时,向自己机房上的salve节点提交请求

数据的同步委托给基础组件完成,可以利用数据本身的数据同步方案

但通常无法结合业务特性进行优化提高性能

redis 本身的数据同步在master同步salve时会导致salve不可用

mysql自身的同步方案性能和稳定性都比较差

这时需要团队亲自制定化数据同步组件,来保证多个机房上的数据全量同步

还可以基于消息队列来实现数据同步,但这会导致额外的带宽占用,更可以搭建专用网络线路解决

无论任何的同步方式,在业务端需要对访问数据库的客户端进行重构使其能够支持读写分离

要防止网络延迟,我们可以在客户端做很多事情:

1,双写:多个机房下允许出现多个Master,那么客户端进行封装在底层将写请求发送给多个Master上

2,双读或回源读:当读取本机房数据没有读到时,去主机房读取或者根据用户请求解析出数据源在哪个机房然后去读取




weinxin
我的微信
关注我了解更多内容

发表评论

目前评论: