基于地理位置的 MySQL 复制

标签 mysql replication

我们有一个在两个不同国家(德国和美国)运行的网络应用程序。 对我们来说,将客户的数据保存在他们所属的国家/地区非常重要,因此德国客户应该留在德国,反之亦然。

我想迁移到云解决方案并在美国和德国拥有 2 个数据库实例(出于速度目的)。 Web 应用程序正在生成自动递增的 ID,我希望链接可以双向工作。 因此,例如两个链接都应该有效:

http://example.com/12.html

http://example.de/12.html

这两个数据库实例将设置为主-主复制,但问题是我不希望在美国数据库中复制在德国生成的数据。 显然,这会导致自动增量 ID 出现问题,我不知道如何解决这个问题。

如果有人可以帮助我或指导我如何处理这种情况,我将不胜感激。

最佳答案

我不明白你的要求。可以请详细点吗?

根据您在此处获得的信息,我建议这样做:

如果您想优化云基础架构中的速度,那么您需要在前端进行缓存,使用一些 CDN 服务,例如亚马逊 CloudFront、谷歌……在这种情况下,大西洋两岸的数据都可用,但它只是临时缓存,数据没有托管在数据库中。你清空了前端缓存,你的数据就不存在了!所以,你根本不需要数据库复制!将您的数据保存在它们所属的位置,并在您的网络应用程序/网络服务实现之上使用 CDN 实现/前端缓存!

如果您不想使用这些服务但想托管自己的服务,那么您可以自己实现一个简单的 CDN/前端服务器。这很简单,您需要为您的页面查询和缓存数据,然后将来自客户端的一些数据存储在页面中。例如。 HTTP header 区域数据、x-forwarded-for、区域数据、一些客户端 cookie ...您可以为此实现一个简单的应用程序,然后即时引用正确的页面...

关于基于地理位置的 MySQL 复制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32818663/

相关文章:

database - Mongodb 4 oplog 中的 t 是什么意思?

mysql - 为 MySQL 值生成 ID 键

mysql - IF 中的 SQL 变量存在

hadoop - HDFS 减少复制因子

MySql数据库同步

使用从站转储的 MySQL 增量备份(InnoDB 和 MyISAM)

php - 查询操作方法缓慢

php - 如何正确使用PDO

mysql - MySQL 中先前计数的平均值

mysql - 删除复制中继站文件是否安全?