【问题标题】:MySQL Replication based on geo-location基于地理位置的 MySQL 复制
【发布时间】:2015-09-28 18:07:21
【问题描述】:

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

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

http://example.com/12.html

http://example.de/12.html

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

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

【问题讨论】:

  • 当您不想复制任何数据时,为什么要使用复制?
  • 关于链接和 ID 的问题。在示例中,我给出的两个链接都应该引用同一个对象。
  • 这里我不明白你的要求。
  • 这是业务需求。经过进一步思考,我们选择了 2 个独立的数据库,无需任何复制来保持 2 个业务实体的隔离。很抱歉造成混乱。

标签: mysql replication


【解决方案1】:

我不明白你的要求。你能详细点吗?

根据您在这里的信息,我建议您这样做:

如果您想在云基础架构中优化速度,那么您需要在前端缓存,使用一些 CDN 服务,例如Amazon CloudFront、Google ... 在这种情况下,数据在大西洋的任何一侧都可用,但只是暂时缓存,并且数据不在数据库中托管。您清空前端缓存,您的数据不再存在!因此,您根本不需要数据库复制!将您的数据保存在它们所属的位置,并在您的 Web 应用程序/Web 服务实现之上使用 CDN 实现/前端缓存!

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-02-01
    • 1970-01-01
    相关资源
    最近更新 更多