mysql - 将 RDBMS 与 Apache Directory Ldap 同步

标签 mysql spring-boot ldap spring-cloud-dataflow

目前,我需要将数据从 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/

相关文章:

PHP聊天活跃用户

java - Jenkins 连接到 LDAP

C++ 服务器/客户端网络

mysql - 在mysql中,如何在字段中具有0或1值的一组记录中选择值1的记录(仅当存在时)?

mysql - 两次查询 SQL 列以构建 HTML 表

mysql - 找出表中没有的值

java - 多个 Spring-Boot (Web) 项目

java - 如何将 application.yml 转换为命令行标志?

spring - 如何使用 Spring Boot 注册 servlet?

Javax.naming.* 端口到 Android?