1

我有一个系统的两个数据库。一种是 OpenLDAP,另一种是 MongoDB。具体来说,这个 OpenLDAP 由我们使用的 Atlassian Crowd 使用。我需要同步这两个数据库中的用户。那是,

  1. 如果我创建一个用户,它将默认在 OpenLDAP 中创建,并且它也必须在 MongoDB 中创建。
  2. 过去在处理此问题时存在问题,可能有用户在 OpenLDAP 中但不在 MongoDB 中。我还需要找到这些用户。
  3. 如果我从一个用户中删除或更新用户,我需要在两个数据库中进行删除或操作。

我将使用 Redis 获得 LDAP 的缓存副本。在这两个数据库之间同步数据以符合上述预期的最佳方式是什么?

如果有帮助,我将在后端使用 Java。

4

1 回答 1

1

2种可能的方式:

  1. (首选)以一种可以“插入”数据库操作符来处理不同数据库的方式设计代码,因此您可以从外观代码访问它们,这样您就可以访问它而无需担心底层数据库。,所以创建一个用户,例如,将是这样的:

createUser() -> foreach dbhandle do dbhandle->createUser() forend

这同样适用于删除或更新任何数据。这种方法也应该解决问题2。

  1. 您可以只更新一个数据库并拥有一个在后台运行的脚本来更新数据库。这种方法将让您只使用 1 个数据库,让脚本处理其余的数据库,但它的成本更高且可靠性更低(因为您可能会访问 1 个尚未从主数据库更新的数据库)
于 2016-03-14T10:07:16.063 回答