0

目前我有这种情况,

  1. 在他们的 Windows 机器上安装了 mysql db 的多个桌面客户端。
  2. 需要同步到一台托管在网络上的服务器以进行报告。
  3. 只需要做一种方式同步(客户端到网络)。
  4. 客户端 ip 总是在变化,因为他们使用没有修复 ip 的标准 adsl。
  5. 每个客户端数据库将同步到服务器上的一个独立数据库(托管在网络上)。
  6. 这个同步可以在调度程序上运行吗?就像每 3 小时一次一样。

我正在考虑使用 mysql 复制,但我对如何设置它有一些疑问?我应该将其设置为主从吗?还是高手对高手?我假设客户端将是主服务器,服务器将是从属服务器,因为服务器仅用于报告目的,但检查大量 mysql 复制,似乎复制是从从属初始的?(我看到从服务器设置上有类似 master-host=ip 的设置)这违背了目的,因为服务器不确定客户端 ip ...

4

1 回答 1

0

考虑到您提到的某些项目(从/主/等),这可能完全不合时宜,但在我正在开发的应用程序中,我有一个类似的架构,单一来源为多个未知/动态 IP 客户端提供服务。我的解决方案是包含另一个字段,其中包含该行上次更新时间的时间戳,然后进行同步,客户端在本地数据库中搜索该列中的 MAX,并将其作为变量发送到 Web 服务,然后返回所有行最近的时间戳。然后客户端解析响应数据,并将其替换为本地数据库,以便覆盖旧数据。

我没有解决的一个细节(因为我的场景不需要它)是如何传达一个项目已被删除......也许当删除一行时,在另一个表中创建一个具有行主 ID 和时间戳的条目删除,然后 Web 服务可以包含所有行的数组,其中包含该表的最新时间戳。

于 2011-03-21T03:16:14.350 回答