是否有ldap C/C++;提供故障转移的库? 我正在寻找C或C++中的LDAP图书馆,允许我指定LDAP主机名的列表,而不是单个主机名。然后,库应该使用它可以连接的第一个服务器,以防一个或多个服务器停机。我相信包装一个现有的库来创建它是很容易的,但是为什么要重新发明轮子呢?

是否有ldap C/C++;提供故障转移的库? 我正在寻找C或C++中的LDAP图书馆,允许我指定LDAP主机名的列表,而不是单个主机名。然后,库应该使用它可以连接的第一个服务器,以防一个或多个服务器停机。我相信包装一个现有的库来创建它是很容易的,但是为什么要重新发明轮子呢?,ldap,failover,Ldap,Failover,我不能说我听说过。此外,我使用过的大多数支持LDAP的软件对故障切换的支持很差或根本不支持。您最好尝试在服务器上实施故障切换,将其置于负载平衡器或类似设备之后。使用多个a记录,每个记录具有不同的IP ldapserver.example.com. IN A 1.2.3.4 ldapserver.example.com. IN A 2.3.4.5 OpenLDAP客户端LIB将依次尝试每个主机。不幸的是,故障转移的速度与TCP连接超时的速度一样慢…在连接时(和java库)

我不能说我听说过。此外,我使用过的大多数支持LDAP的软件对故障切换的支持很差或根本不支持。您最好尝试在服务器上实施故障切换,将其置于负载平衡器或类似设备之后。

使用多个a记录,每个记录具有不同的IP

ldapserver.example.com.    IN A    1.2.3.4
ldapserver.example.com.    IN A    2.3.4.5
OpenLDAP客户端LIB将依次尝试每个主机。不幸的是,故障转移的速度与TCP连接超时的速度一样慢…

在连接时(和java库)支持空间分隔的主机列表。它将依次尝试每一个,如页面中所述

openldap libldap库还支持传递给
ldap\u open()
的以空格分隔的主机列表,或传递给
ldap\u initialize()
的以逗号分隔的主机列表

唯一需要注意的是确保处理连接断开后返回的
LDAP\u SERVER\u DOWN
错误。我通常编写一个包装函数来尝试一个操作(即:搜索),并在出现
LDAP\u SERVER\u DOWN
时尝试重新连接,然后再次执行该操作