首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >是否可以要求ProxySQL在读取时使用特定的GTID?

是否可以要求ProxySQL在读取时使用特定的GTID?
EN

Stack Overflow用户
提问于 2019-07-17 23:40:35
回答 2查看 174关注 0票数 0

我们有一个应用程序,它向ProxySQL发出写操作,然后立即进行读操作,这可能会受到写操作的影响。在ProxySQL后面是四个MySQL服务器-一个写入器和三个从写入器复制的读取器。

现在,ProxySQL能够通过记录从原始写入的OK包中发回的GTID和来自读取器的binlog feed来确保它选择一个“最新”的读取器,以确保它选择了已经执行了写入的读取器。

我们的问题是,由于我们的拓扑结构,读操作实际上可能会在与写操作不同的连接上到达ProxySQL。因此,“读取”连接可能持有较旧的GTID,因此可能会选择“不是最新的”读取器,在该读取器上还没有发生写入。

我们可以看到一个可能的解决方案,如果可以告诉ProxySQL确保读者是最新的“指定的”GTID (一个我们自己解析出来的OK包),而不是连接上的那个,但我们不知道我们是否能做到这一点-我在文档中看不到任何东西。

任何对可行解决方案的想法都将是非常受欢迎的!

我们使用的是带有ProxySQL版本2.0.3-29-g00f26d5的mySQL 5.7.25。

我们目前的结果是,我们通常先执行写操作,然后执行读操作,但读操作会返回写操作之前的状态。

EN

回答 2

Stack Overflow用户

发布于 2019-08-10 03:12:16

我的理解是,当满足某些情况时,proxysql支持开箱即用的GTID。

servers

  • mysql_replication_hostgroups is
  1. binlog_format is
  2. on the backend session_track_gtids is OWN_GTID
  3. the monitor user of proxysql is setup

(后端上存在proxysql的监视器用户)也是setup

票数 0
EN

Stack Overflow用户

发布于 2019-09-03 20:48:19

现在的ProxySQL (2.0.3-29-g00f26d50)似乎对此没有“答案”,尽管ProxySQL的人愿意收费建造这个设施。

同时,我们采取了使用写入器(通过将其分配到一个组并选择它)的步骤,用于必须与上一个调用保持最新一致视图的读取。这将影响性能,但如果此类请求不太常见,则应该是可以接受的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57079671

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档