在不同方向同步表单向但不同的表

时间:2017-09-17 03:05:07

标签: mariadb

我以前从未使用多台服务器进行同步。我正在开发一个项目,需要多个MariaDB服务器来同步特定的表。每个表只能在一台服务器上更改,但每个表都将在不同的服务器上更改。

  

给出表A,B,C和D:

     

A - 设置表 - 仅在用户更改设置时更新

     

B,C,D - 工作表 - 这些工作表将每隔几秒更新一次,由各个服务器完成。

     

主服务器 - 更改A;需要B,C,D实时保持最新。

     

服务器2 - 更改B;需求实时保持最新。

     

服务器3 - 更改C;需求实时保持最新。

     

服务器4 - 更改D;需求实时保持最新。

看一下复制教程,我看到很多关于单向和双向的信息,但是我找不到任何符合我试图做的事情。

由于信息是时间敏感的,因此必须实时同步数据。如果服务器失去了彼此的连接,我仍然需要在连接恢复后立即同步数据。

这些表将全部由各自服务器上的PHP代码更新。服务器都在运行Linux。这是可以通过MariaDB自己完成的吗?或者以另一种方式处理这个会更好吗?我真的希望避免将整个数据库双向复制到所有服务器,因为除了主服务器和创建它的服务器之外,任何服务器都不需要大多数数据。

1 个答案:

答案 0 :(得分:0)

忘记让多台机器试图互相同步。而是想想......

计划A:使用单个服务器完成所有工作。然后没有同步。

计划B:利用网络允许每个人写入Master,它不断地向任意数量的Slaves复制。奴隶可以从中读取。

计划C:某种形式的集群,例如Galera,以便多个节点不断地相互复制,并且您可以读/写每个节点。

请注意"关键读取"的任何同步或复制环境。场景。这是当用户在博客帖子上写评论,然后在下一个网页上找不到它时。问题是它没有同步" d"爱好。

回答你的问题:没有"同步"除了我描述的三件事之外的机制。

更多

连接问题不是一个严重的问题 - 有许多云服务在100.0%的时间内非常接近可用。

延迟并不是一个严重的问题 - 您会对网站的距离感到惊讶。一千英里是没有什么"今天在互联网上。

如果距离很远,请将用户到Web服务器的往返行程的最小化。并最小化前端和数据库之间的数据库调用的数量。请注意,在一种情况下将Web服务器放在客户端附近并在另一种情况下放在数据库附近是有益的。

在Master-Slave设置中,每天几千兆字节是一个合理的流量上限。你在谈论多少流量?