我们在galera群集上存在一些有关同步的错误。我们的Web应用程序在写入数据后进行重定向,以防止重新加载时重新发送数据。在开发环境上,我们没有问题。在具有某些服务器负载的生产环境中,如果我们读取前几毫秒写入的数据,则第二个节点有时会不同步。
为解决这个问题,我们使用节点固定,从与之前编写的节点相同的节点读取数据,并且我们正在对SET SESSION wsrep-sync-wait=6;
进行INSERT / UPDATES / DELETE实验,如所述here到 avoid < / del>减少这种行为。
尽管我们没有解决复制问题的方法,但是在发现由于缺乏复制而导致的错误方面仍然存在问题。
我们想模拟一个非常慢的同步来测试我们的应用程序。有一些配置选项可以让galera群集在重负载下表现得像吗?
答案 0 :(得分:1)
由于您正在阅读,因此需要包括1
。
SET SESSION wsrep_sync_wait=1; -- or any odd number
SELECT ... ; -- this will wait if necessary
SET SESSION wsrep_sync_wait=0; -- (optional); to avoid slowing down subsequent SQL
答案 1 :(得分:0)
设置地理位置分散的集群。也许对远处的节点使用一些云服务。
如果每个节点都位于不同的大陆,则每个 COMMIT
的往返延迟将为100-200ms。