【问题标题】:Issue of small delay after insert / update using proxySQL and MySQl clusters使用 proxySQL 和 MySQl 集群插入/更新后的小延迟问题
【发布时间】:2022-07-29 13:45:32
【问题描述】:

我们正在使用带有 proxySQL 的 MySQL 集群,设置如下:

  • 服务器 1 是托管主 dB 的主服务器,位于欧洲
  • 服务器 2 是位于亚洲的服务器,用于为本地用户提供服务,该服务器包含只读版本的数据库,在发生更改时由服务器 1 更新。

问题出在: 服务器 2 上的用户触发 SQL UPDATE,UPDATE customers SET name= 'New Name' WHERE id = 123。(此更新发送到服务器 1,然后更新服务器 2)

在同一个代码块中,如果我们选择记录(SELECT name FROM customers WHERE id =123),这个查询被发送到本地服务器,结果将是“Old Name”,除非我们暂停代码1秒(测试)。

我们考虑的一个解决方案是更改连接 (PHP) 并直接转到服务器 1 以获取代码块的剩余部分,但这有点违背目的并且远非理想(安静的大型代码库要更新)。

可能有涉及proxySQL的解决方案吗?

【问题讨论】:

    标签: mysql proxysql


    【解决方案1】:

    为了防止查询路由到具有高复制滞后的从站,您可以在表 mysql_server 列中设置阈值最大复制滞后 最大复制滞后。参考:max_replication_lag

    max_replication_lag – 如果大于 0,ProxySQL 将 定期监控复制滞后,如果它超出了配置 阈值它将暂时避开主机,直到复制赶上。

    您还可以创建查询规则来拆分查询读写。参考:ProxySQL Split Read/Write

    【讨论】:

      猜你喜欢
      • 2019-03-29
      • 1970-01-01
      • 2015-06-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多