Active directory 在AD中搜索新创建的对象失败?

Active directory 在AD中搜索新创建的对象失败?,active-directory,ldap,spring-ldap,Active Directory,Ldap,Spring Ldap,我有一个通过SpringLDAP连接到Active Directory的服务。当调用创建一个新用户,然后立即单独调用以搜索该用户时,搜索有时会失败,并出现“未找到对象”错误 这似乎与复制有关,因为相同的搜索只在几分钟后起作用。注意,这是两个独立的请求,因此不能保证使用来自池的相同物理连接 我有什么办法来解决这个问题?如果AD找不到对象的本地副本,它是否不够聪明,无法查询其他服务器?LDAP客户端不应该添加或修改条目,然后立即读取添加或修改的条目,因为复制的最终一致性模型(谁知道Active Di

我有一个通过SpringLDAP连接到Active Directory的服务。当调用创建一个新用户,然后立即单独调用以搜索该用户时,搜索有时会失败,并出现“未找到对象”错误

这似乎与复制有关,因为相同的搜索只在几分钟后起作用。注意,这是两个独立的请求,因此不能保证使用来自池的相同物理连接


我有什么办法来解决这个问题?如果AD找不到对象的本地副本,它是否不够聪明,无法查询其他服务器?

LDAP客户端不应该添加或修改条目,然后立即读取添加或修改的条目,因为复制的最终一致性模型(谁知道Active Directory会做什么)。正确的步骤是将添加到添加或修改请求中。有关详细信息,请参见。

如上所述,对于假定先写后读一致性保证的应用程序,复制延迟是有问题的。 通常,人们会通过以下几种方式之一来解决这一问题: 0)提高复制速度。这是你“可调的”。虽然它永远无法达到0,但您可以让它以秒为单位。 1) 将应用程序更改为在确定性DC上执行写入操作,然后从同一位置执行读取操作。您将在同一个DC上获得先写后读的一致性,问题在于x-DC读取。 2) 将应用程序更改为完全不执行此操作。:)

显然,你也可以使用一系列策略