如何同步两个不同应用程序使用的两个数据库

时间:2013-07-18 11:08:33

标签: php mysql database codeigniter cakephp

我有两个申请

应用程序A - 数据库A和应用程序B - 数据库B

应用程序是基于php的,使用mysql作为数据库。两个数据库都有一个名为'user'的表。我希望同步这个用户表,这样当最终用户更新信息应用程序A时,它应该反映到应用程序B中。

在这种情况下,另一个问题是应用程序A具有加密数据,而应用程序B具有普通数据库。并且这两个应用程序都在不同的网络上。

我正在考虑 -

1)数据库复制(不确定它是否会因加密而起作用) 2)使用Web服务 3)一个cron文件,它将在一段时间后更新两个数据库。

我想要什么是最好的,为什么。如果还有其他人这样做,那么请回复。

由于

1 个答案:

答案 0 :(得分:0)

由于表结构不同,复​​制不会对您有所帮助。我之前用过的方法是将这样的两个系统绑定在一起,就是在新帐户,更新,登录和注销过程中编写一个小的api包装器。

然后,当用户创建新用户或登录或注销或更新应用程序A时,您可以通过php从服务器A向应用程序B上的api发出curl https调用,并在那里更新状态。如果您可以在两个应用程序上公开相同的子域,即appA.mydomain.com和appB.mydomain.com,他们甚至可以共享cookie,这使得单个登录和注销更容易,因为您的api集成可以为两个应用程序设置正确的登录cookie。同一时间。

您将不得不深入了解ApplicationB如何构建您的api包装器,但您可以重用已经存在的任何加密函数等。