mysql - Galera 集群高 Ping
问题描述
我在同一个数据库中连接了 3 个游戏服务器。我开始使用 galera 集群进行同步,因为 mysql 远程连接由于主机距离、BR、US 和 FR 的原因而延迟,并且我的游戏服务器仅使用一个主线程进行重要查询。
发生这种延迟(滞后)是因为主线程在继续运行应用程序之前需要接收回调(确认)。
我认为在 galera 集群中,使用 ping 0 的本地数据库不会再发生问题,但我不知道为什么,每次我在数据库上获得 INSERTS 和 DELET 时都会发生相同的延迟。在我的应用程序调试中,我看到查询以 0 MS 发送到本地,但仍然滞后。
我的问题是,galera mysql-wsrep 是否需要确认其他集群?
解决方案
COMMIT
Galera 在命令期间检查所有其他节点。这是发生滞后的时候。当然,COMMIT
它是任何事务的显式或隐式(自动提交)的一部分,因此每个事务都有该延迟。
这意味着地理上分散的 Galera 集群的最佳使用是将许多操作放在单个事务中。(另一方面,如果有任何失败/死锁/等,单个事务中的太多事情可能会导致撤消太多。)
美国和欧洲之间的延迟在100ms左右;这就是你所看到的吗?
推荐阅读
- python - 如何合并多个 CSV 文件?
- firebase - Flutter异步firebase请求未等待
- docker - 如何自动清理 Amazon EKS 工作线程节点中的 Docker 资源?(模仿 docker 系统 prune -a)
- macos - 在 macOS 上的 SwiftUI 列表视图中选择和删除核心数据实体
- sql - 在 Postgress 中分桶
- machine-learning - 变分自动编码器的采样问题
- html - 在没有容器溢出的情况下,将容器内的元素定位到任何指定百分比的最简单方法是什么?
- javascript - 三元上没有未使用的表达式
- sql - 我怎样才能只更新一个表的一些值,这些值不是一个接一个或按顺序用plsql中的新值?
- flutter - 具有自定义形状的 Flutter 自定义导航栏