mysql 复杂架构探讨3地(不同的地区)的msyql server。
a(地方服务器) b(地方服务器) c(中心服务器)简化问题 ,a b c 3地的mysql都有相同的库 userdb ,都有同结构的表user
其中c的数据是集中a b 的数据。 简单说 c 的user表是a 的user数据 + c 的user数据现在要求的是 做到一点 , a和b的user表数据是没有联系的,彼此都看不到哦。但c 的user是a b的相加,
另外还有苛刻要求, a 的user表的任何改动(增 删 减)都会实时同步到c的那个表, b 的user表的任何改动(增 删 减)都会实时同步到c的那个表。 反过来, c 的user表的任何改动(增 删 减)都会实时同步到a 或 b的那个表。从mysql复制技术来讲,也就是 a <--->c 主主复制 b <--->c 主主复制
请问这个能否做到吗 ?? (如果或者用集群实现也可以的)
a(地方服务器) b(地方服务器) c(中心服务器)简化问题 ,a b c 3地的mysql都有相同的库 userdb ,都有同结构的表user
其中c的数据是集中a b 的数据。 简单说 c 的user表是a 的user数据 + c 的user数据现在要求的是 做到一点 , a和b的user表数据是没有联系的,彼此都看不到哦。但c 的user是a b的相加,
另外还有苛刻要求, a 的user表的任何改动(增 删 减)都会实时同步到c的那个表, b 的user表的任何改动(增 删 减)都会实时同步到c的那个表。 反过来, c 的user表的任何改动(增 删 减)都会实时同步到a 或 b的那个表。从mysql复制技术来讲,也就是 a <--->c 主主复制 b <--->c 主主复制
请问这个能否做到吗 ?? (如果或者用集群实现也可以的)
在c机器上
ac库《--》a机器 主主
bc《--》b机器 主主c的库 有一个user 是集中ac 和bc 的user表数据。
ac的user ----c用触发器。
以及事件通知。 -------------可维护性太差 。c机器的数据修改返回到a b 机器好麻烦。容易造成触发器循环。
从楼上启发 得到我的解决方法
(a b c上有3个库(c ac bc ))
在c机器上
ac库《--》a机器 主主
bc《--》b机器 主主在c机器的c中建立view ,这个view就是 uinon all ac 和bc 的 这样基本就不会动java或.net 任何东西。(楼上的实现过于复杂)
insert BC(name) values(676);
update user set name=909 where id=1;------------失败 ,如果是但表的视图是ok ,但是多个表union 过来的是失败的
如果遇到 insert update delete view这样来处理直接对AC BC进行操作
也就是这个意思
insert user 做2次(insert ac insert bc)
其他也一样