目前,我需要将数据从 apache direcotry ldap 同步到任何 RDBMS 数据库(MySQL、PostgreSQL)。目前,目录大约保存几百万条记录,并且将来可能会增长。 Ldap 目录目前是主要数据源,但动机是在 Ldap 和 RDBMS 中拥有实时数据,因为我们计划使用 RDBMS 进行实时分析。
选项1: 考虑使用spring cloud data flow。一个源 Spring Boot 应用程序,用于读取上次同步运行后更改的 LDAP 数据。源应用程序将数据推送到队列(目前为 RabbitMQ)。 Sink 是另一个 Spring Boot 应用程序,它直接从队列收集数据并将数据保存到 RDBMS 中。我们将能够使用 Spring Cloud 数据流仪表板产品更好地跟踪和管理同步流程作业。
选项2: Spring LdapTemplate 帮助我们与应用程序中的 ldap 目录进行交互。一种方法是在适用的情况下拦截 ldapTemplate 调用,并将数据推送到队列,然后中间应用程序从队列 (RabbitMQ) 读取数据,并将 ldap 响应转换为可以更新到 RDBMS DB 的所需格式。
我是 Ldap 和 Spring Cloud 数据流的新手。到目前为止,考虑到我的项目现有的技术和系统环境,我只有这两种方法。任何其他建议/方法都非常感谢。提前致谢。
最佳答案
如果 LDAP 是 Microsoft 广告服务器,则另一种方法是在 C# 中创建 Windows 服务,该服务将连接到您的 LDAP 服务器并每天获取数据,并通过套接字连接将数据发送到您的 RDBMS。这是可靠且一致的。
关于mysql - 将 RDBMS 与 Apache Directory Ldap 同步,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55087919/