我正在寻找 C 或 C++ 中的 LDAP 库,它允许我指定 LDAP 主机名列表而不是单个主机名。然后库应该使用它可以连接的第一个,以防一个或多个服务器停机。我确信包装一个现有的库来创建它很容易,但为什么要重新发明轮子呢?
Dave
问问题
1157 次
3 回答
2
使用多个 A 记录,每个记录具有不同的 IP。
ldapserver.example.com. IN A 1.2.3.4
ldapserver.example.com. IN A 2.3.4.5
OpenLDAP 客户端库将依次尝试每个主机。故障转移(不幸的是)与您的 TCP 连接超时一样慢......
于 2008-11-14T00:06:19.063 回答
1
Novell cldap库(和 java 库)在连接时支持以空格分隔的主机列表。如页面中所述,它将依次尝试每个ldap_init()
。
openldap libldap 库还支持传递给的主机的空格分隔列表ldap_open()
或传递给的逗号分隔列表ldap_initialize()
。
唯一的问题是确保处理LDAP_SERVER_DOWN
连接消失后返回的错误。我通常编写一个包装函数来尝试操作(即:搜索),并在发生时尝试重新连接LDAP_SERVER_DOWN
,然后再次执行操作。
于 2009-08-25T16:06:58.997 回答
-1
我不能说我听说过一个。此外,我使用的大多数支持 LDAP 的软件对故障转移的支持很差或根本不支持。您最好尝试在服务器上实现故障转移,将其置于负载均衡器或类似设备之后。
于 2008-09-18T07:09:43.543 回答