2015-02-23 62 views

回答

2

的UnboundID Directory Server提供了有保证的复制模式中,你可以请求服务器延迟到操作的响应,直到它在满足您所需的约束的方式被复制的支持。这可以通过在添加/删除/修改/修改DN请求中包含特殊控制,或者通过使用可用于识别哪些操作应该使用此可靠复制模式的标准来配置服务器,从而以每个操作为基础进行控制(例如, ,您可以配置服务器,以使针对特定属性集的操作受到比其他属性更高级别的保证)。

我们放心复制的实现允许你定义本地服务器和外地服务器(服务器中的其他数据中心)(在同一个数据中心,接受来自客户端的请求一个服务器)分开的要求。这使您可以调整服务器以实现性能和行为之间的平衡。

对于本地服务器,可能保证水平:

  • 不要执行任何特殊处理的保证。服务器在本地处理后立即向客户端发送响应,并尽快将该更改复制到其他服务器。在服务器向客户端发送响应之后但在复制之前立即发生的永久性故障可能(尽管极不可能)可能导致更改丢失。

  • 延迟响应到客户端,直到更改已被复制到至少一个其他的服务器在本地数据中心。这确保即使在客户端正在与之通信的实例丢失的情况下,更改也不会丢失,但是到客户端收到响应时,更改可能尚未在本地数据中心的所有实例中可见。

  • 延迟对客户端的响应,直到更改的结果在本地数据中心的所有服务器中都可见。这确保了访问本地服务器的客户端不会看到过时的信息。

可用于非本地服务器上的保证选项是:

  • 不要执行任何特殊处理的保证。基于与非本地服务器的任何通信,服务器不会延迟对客户端的响应,但是如果整个数据中心丢失(例如,通过大规模的自然灾害)或变得不可用(例如,因为它可能会导致更改可能丢失或延迟失去网络连接)。

  • 延迟的响应到客户端,直到变化已被复制到至少一个其他服务器中的至少一个其他数据中心。这确保即使完全丢失数据中心也不会丢失更改,但不能保证在客户收到响应时到处都可以看到更新的信息。

  • 延迟的响应到客户端,直到变化已被复制到至少一个服务器中的每个其他数据中心。这可确保即使在网络分区在处理更改后立即使数据中心不可用一段时间,也能在每个数据中心处理更改。但是,这并不能保证在客户收到响应时到处都可以看到更新的信息。

  • 延迟对客户端的响应,直到在所有其他数据中心中的所有可用服务器中都看到更改。这确保了不管客户使用的服务器的位置如何,客户端都不会看到过时的信息。

UnboundID目录服务器还提供了一些功能,以帮助确保客户端在正常情况下不会暴露于过时的信息。我们的复制机制非常快,所以变化通常在几毫秒内到处出现。每个服务器都在不断地监控自己的复制积压,并且可以在积压变得太大时采取行动(例如,像警告管理员那样的温和行为或者在复制赶上之前拒绝客户请求等更激烈的措施)。而且由于大多数复制积压是在服务器由于某种原因离线时遇到的,服务器还能够在启动时延迟接受来自客户端的连接,直到它赶上了脱机环境中处理的所有更改。如果您进一步将其与UnboundID Directory Proxy Server的高级负载平衡和运行状况检查功能结合使用,则可以确保客户端请求仅被转发到没有复制积压或任何其他可能导致不良情况的服务器操作失败,花费很长时间才能完成,或者遇到过时的信息。

+0

很好,这是什么味道的ldap?我们知道这个特别适用于其他口味吗? – user2092572 2015-02-23 21:17:25

+0

这是UnboundID Directory Server,它是一个商业LDAP服务器实现(支持其他目录服务协议,如SCIM和基于REST的API)。有保证的复制不是一个标准的LDAP功能,我们的实现是我们自己设计和实现的。我不知道哪个(如果有的话)其他LDAP服务器可能提供类似的功能,或者它们可能与我们提供的实施方式进行比较。 – 2015-02-23 22:17:07

-1

CA's directory产品使用内存映射系统,写入速度如此之快,这不是一个问题。

+0

速度为什么保证写入或减少保证写入的需要? – user2092572 2015-03-06 15:32:11

+0

内存映射或快速写入如何保证复制?答案甚至没有意义,更不用说回答这个问题了。 – EJP 2017-04-24 20:28:23

2

从复习关于LDAP的复制需求的RFC3384讨论,它看起来好像LDAP只需要最终的一致性并且不需要事务一致性。因此,任何支持该功能的产品都可能通过供应商特定的实现来实现。

CA Directory支持专有的复制模式MULTI-WRITE,它保证客户端只有在所有复制实例已更新后才能获得写入确认。另外它支持标准的X.525影子协议,它提供了较低的一致性保证和更好的性能。

对于典型的LDAP实现,更新请求通常会在处理此请求的DSA已更新时立即返回,而不会在副本实例已更新时立即返回。我相信OpenLDAP就是这种情况。好处是速度,缺点是缺乏保证已更新已应用于所有副本。