多站点 WAN 复制

你的应用程序可能会部署到多个数据中心,用于灾难恢复或地理负载平衡。在这种情况下,你的应用程序必须使用 分布式缓存 支持 WAN 复制 高可用性 发生灾难时的数据。

NCache 提供了一个 要处理的功能 广域网复制 分布式缓存之间。它执行异步数据复制,以避免性能下降。此外,桥接器本身以双节点集群的形式运行,以实现高可用性。

桥式拓扑结构速览

  • 多区域可扩展性: 支持 3 个以上活跃数据中心。
  • 零性能延迟: 100%异步广域网复制。
  • 高可用性: 双节点自愈桥接集群。
  • 冲突管理: 可自定义的 C# 逻辑或最后更新优先。

主动-被动配置

NCache 通过桥接器将数据从主活动站点异步复制到备用被动站点,从而实现灾难恢复 (DR)。您可以拥有一个活动数据中心和一个被动数据中心,主要用于灾难恢复。在此配置中,活动站点包含桥接器和缓存,而被动站点仅包含缓存。活动站点通过桥接器将数据异步复制到被动站点,被动站点在发生灾难时充当备份。

主动-被动配置

双活配置

对于区域负载均衡,双活拓扑结构允许多个数据中心同时服务于实时流量,并保持实时同步。您可以配置两个活动数据中心来实现区域负载均衡,并内置灾难恢复功能。其中一个活动站点包含网桥和缓存,而另一个站点仅包含缓存,类似于双活配置。但不同之处在于,由于两个站点都在积极服务于客户端操作,因此它们之间会相互复制数据。

双活配置

处理 3+ 主动-主动数据中心

NCache 支持复杂的中心辐射型模型,允许三个或更多地理位置通过集中式桥接集群共享数据。除了上述配置之外, NCache 还支持三个或更多数据中心。在这种情况下,其中一个站点是桥接站点,包含桥接器和缓存。其他站点仅包含缓存。所有非桥接站点都连接到桥接站点,因此数据会同时复制到所有站点。您还可以在任意站点上创建备份桥接器,以确保在桥接站点发生故障时实现高可用性。有关此配置的更多详细信息,您可以访问博客 了解多数据中心 WAN 复制.

处理 3+ 个数据中心

主动-主动中的冲突解决

当您拥有多个活动站点时,相同的数据可能会在每个站点上同时更新。默认情况下, 冲突已解决 in NCache 使用“最后更新获胜”逻辑。但是,您也可以指定自定义冲突解决处理程序,该处理程序通过根据您的逻辑分析数据来解决冲突。

以下代码片段展示了 冲突解决者 在缓存上实现:

public class Resolver : IBridgeConflictResolver
{
    public void Init(System.Collections.IDictionary parameters) {. . .}

    public ConflictResolution Resolve(ProviderBridgeItem oldEntry, ProviderBridgeItem newEntry)
    {
        var conflictResolution = new ConflictResolution();

        switch (oldEntry.BridgeItemVersion)
        {
            case BridgeItemVersion.OLD:  { /* Replace Item with New Entry */  }
            break;

            case BridgeItemVersion.LATEST:  {   /* Keep Old Entry  */  }
            break;

            case BridgeItemVersion.SAME:   { /* Your custom logic */  }
            break;
        }
        return conflictResolution;
        // Configure this implementation on cache
    }
    public void Dispose() {. . .}
}

有关冲突解决的更多详细信息,请参阅 冲突解决文档.

并行和批量异步复制

跨区域分布式站点的复制可能会因延迟而导致性能下降。与会导致高延迟的标准同步复制不同, NCache Bridge 使用异步队列将应用程序性能与 WAN 速度解耦。 NCache Bridge 在所有数据中心异步复制数据,确保应用程序不会停机。

此外,该桥接器还能将多个数据项作为单个批量请求发送到另一端站点,从而大幅减少通过广域网 (WAN) 的网络传输次数。这种批量复制机制比逐项传输更高效,通过将多个更新组合成单​​个 TCP 请求来降低网络开销。作为一项附加功能,该桥接器还内置了复制功能:它是一个双节点集群,可以进行自我复制,因此自身具有高可用性。更多详情请参阅…… NCache 桥接行为,你可以参考 NCache 桥梁架构文档.

在运行时处理灾难

NCache 无缝处理上述每种数据中心配置中的灾难情况。

  • 主动-被动: 如果被动站点发生故障,主动站点将继续为客户端操作提供服务,而无需进行复制,直到被动站点恢复正常。被动站点恢复后,被动站点将重新同步自身,并进行 WAN 复制。如果主动站点发生故障,流量将路由到被动站点,该被动站点暂时充当主动站点,并与主动站点同步。原始主动站点恢复后,它将重新同步自身并再次变为主动站点。
  • 主动-主动: 在这种情况下,如果活动站点发生故障,流量将被路由到另一个站点,该站点将继续无缝地为客户端提供服务,因为它也是一个活动站点。一旦原始站点恢复,它会自动重新同步,WAN 复制将继续进行。
  • 3+ 主动-主动:

    可能会出现以下几种情况:

    • 非桥梁活动站点瘫痪:其他站点继续相互复制,并且该站点上的流量被重新路由到其他连接的站点,而不会中断用户。
    • 桥梁活动站点发生故障:如果桥接活动站点发生故障,则意味着 WAN 复制将无法进行,因为桥接也已故障。因此,其他正在运行的活动站点之一将暂时充当桥接站点。您也可以在其中一个站点上创建备用桥接站点以应对这种情况。由于 NCache 允许缓存在运行时连接到桥接器,客户端无需停​​机。原始站点恢复后,它会自动重新同步,并将流量路由到该站点,就像以前一样。

接下来做什么?

常见问题

NCache 它使用专用的桥接功能来执行异步复制。通过将复制过程与主缓存操作解耦, NCache 确保广域网延迟不会降低本地应用程序的性能。

主动-被动模式主要用于灾难恢复,即将数据复制到备用站点。主动-主动模式允许多个数据中心同时处理实时流量并保持同步,这非常适合区域负载均衡。

是的。 NCache 支持 3 个以上双活数据中心配置。它利用桥接站点将数据同时复制到所有连接的站点,并支持备份桥接站点,以确保在主桥接站点发生故障时仍能保持高可用性。

默认情况下, NCache 使用“最后更新优先”逻辑。但是,您可以使用以下方式实现自定义冲突解决处理程序: IBridgeConflictResolver 提供基于数据版本应用您自己的业务逻辑的接口。

NCache 通过允许另一个活动站点临时充当桥接站点,从而确保高可用性。因为 NCache 允许缓存在运行时连接到桥接器,此转换过程中应用程序不会停机。

联系我们

联系电话

+1 214-619-2601 (美国)

+44 20 7993 8327 (英国)

©版权所有 Alachisoft 2002 - 版权所有。 NCache 是 Diyatech Corp. 的注册商标。