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

标签 php mysql database codeigniter cakephp

我有两个应用程序

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

应用程序是基于 php 的,使用 mysql 作为数据库。两个数据库都有一个名为“user”的表。我想同步此用户表,以便当最终用户更新应用程序 A 的信息时,它应该反射(reflect)到应用程序 B 中。

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

我正在考虑 -

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

我想知道什么是最好的以及为什么。如果还有其他人可以做到这一点,也请回复。

谢谢

最佳答案

由于表结构不同,复​​制不会对您有太大帮助。我之前使用过的将两个系统连接在一起的方法是围绕新帐户、更新、登录和注销过程编写一个小型 api 包装器。

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

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

关于php - 如何同步两个不同应用程序使用的两个数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17721773/

相关文章:

php - 扩展 Symfony 以自动转义 .tex.twig 文件的 latex 字符

javascript - 在 PHP 中使用 AJAX 响应前置和覆盖类

php - 允许使用 PHP 中的抽象工厂模式进行自定义类实例化

mysql - 试图将表复制到从属服务器上的多个数据库

mysql - 在 Latin1 数据库中存储 UTF8 文本有什么后果?

php - 使用codeigniter在mysql中输入数据

database - 从超过时间线的 PostgreSQL 数据库中归档记录

mysql - MySQL中如何向表中插入数据

mysql - 如何标准化我的表格?

javascript - 如果 div 中的数字 = 0,则隐藏该数字