我诚实地尝试 这个 左 和 右,仍然发现我的镜像服务器,设置为复制从服务器仍然落后.我的应用程序的用户群不断增长,现在我已经达到了无法"关闭"到"重新同步"数据库的程度(甚至在周末都没有).
无论如何,我的问题是:是否有任何合理的,负担得起的替代binlog复制?我有两个服务器,所以不会考虑购买第三个用于负载平衡,除非它是唯一的选择.
干杯,
/ MP
您的主机并行执行,您的从机串行执行.如果您的主人可以在1小时内处理1.5小时的插入/更新/执行,您的奴隶将落后.
如果您无法找到提高从属设备写入性能的方法(更多内存,更快的磁盘,删除不必要的索引),那么您的应用程序架构就会受到限制.最终,您将无法实时执行更改,因为主服务器可以并行执行更改.
许多大型网站都会对其数据库进行分片:考虑将主服务器/从服务器拆分为多个主服务器和从服务器集群.然后在这些集群中拆分客户群.当奴隶开始落后时,是时候添加另一个集群了.
它并不便宜,但除非您能找到一种方法来并行执行binlog复制执行语句,否则您可能找不到更好的方法.
更新(2017):MySQL现在支持并行从属工作线程.仍有许多变量会导致从属设备落后,但是从设备不再需要按顺序写入.选择保留并行从属线程的提交顺序是一个重要的选项,可以查看从属设备在任何时间点的确切状态是否至关重要.