【发布时间】: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的解决方案吗?
【问题讨论】: