多IDC数据分布--MySQL多机房部署

多IDC数据分布--MySQL多机房部署

多IDC数据分布--MySQL多机房部署

多IDC数据分布--MySQL多机房部署

尝试1MasterRelay Slave

一、特点:

1. Slave和前端在一个IDC

2. DB集中写, cache本地写;

3. 某一机房是核心。

二、挑战:

1.不适合写入量大的业务;

2.Cache清理机制复杂;

3.注意同步延时问题;

4.Relay容灾。

尝试2MySQL federated engine

一、特点

1.利用FE实现多master到单slave的同步;

2.FE不提供在线服务;

3.DBCache本地读本地写;

4.NIDC部署中每个IDC需要部署N-1relay

二、挑战

1.MySQL协议太重;2.存在更新丢失问题;3.维护难度大。

尝试3MySQL Master/Master

一、特点:

1.双写;2.容灾优势高。

二、挑战

1.写节点限制在两个IDC2.时序问题。

尝试4MasterQueue ServiceMaster

一、特点

1.多点写入;2.索引和内容合并同时入队列;3.每个IDC完全独立。

二、挑战

1.带来运维复杂;2.程序的解耦问题。

经验:

1.能不分布就不要分布;2.部署成对IDC并且不多于4个;3.提高用户体验的同时解决容灾和突发流量问题;4.考虑好业务的时序问题;5.异步为王。