多数据中心 WAN 复制

您的应用程序可以部署到多个数据中心,用于灾难恢复或流量的地理负载平衡。 如果您的应用程序流量很大,则必须使用分布式缓存。 在这些情况下,您需要确保您的分布式缓存可以进行 WAN 复制,以在发生灾难时实现数据的高可用性。

NCache 提供 Bridge 来处理分布式缓存的 WAN 复制。 它在分布式数据中心之间形成了一座桥梁,并执行数据的异步复制,因此不会降低性能。 此外,网桥本身是一个由两台服务器组成的集群,以实现高可用性。

主动-被动配置

您可能拥有一个主动数据中心和一个被动数据中心,主要用于灾难恢复目的。 在此配置中,一个主动站点包含网桥和缓存,而被动站点仅包含缓存。 主动站点通过桥将数据异步复制到被动站点,在发生灾难时充当备份。

主动-被动配置

双活配置

您可能有两个活动数据中心,用于结合区域负载平衡和隐含的灾难恢复目的。 其中一个活动站点包含网桥和缓存,而一个仅包含缓存,类似于主动-被动配置。 但是,这种情况下的不同之处在于,两个站点都相互复制数据,因为它们都在积极地为客户端操作提供服务。

双活配置

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

除了上述配置外, NCache 还提供对三个或更多数据中心的处理。 在这种情况下,站点之一是网桥站点,其中包含网桥和缓存。 其他站点仅包含缓存。 所有非网桥站点都连接到网桥站点,因此数据会同时复制到所有站点。 您还可以在这些站点中的任何一个上创建备份网桥,以确保在网桥站点出现故障时具有高可用性。 有关此配置的更多详细信息,您可以访问博客 了解多数据中心 WAN 复制.

处理 3+ 个数据中心

主动-主动中的冲突解决

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

以下代码片段显示了在缓存上实现的冲突解决程序的简化实现:

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 复制,因此您的应用程序在等待复制操作时不会遇到任何停机时间。

此外,网桥还将多个数据项作为单个批量请求发送到另一个站点,从而大大减少了跨 WAN 的网络行程。 作为一个附加组件,网桥还具有内置复制功能:它是一个 2 节点集群,可以自我复制,因此它本身具有高可用性。 有关更多详细信息 NCache 桥接行为,可以参考 NCache 桥梁架构文档.

在运行时处理灾难

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

  • 主动-被动: 如果被动发生故障,则主动站点继续为客户端操作提供服务,但在被动站点恢复之前不会进行复制。 恢复后,被动站点会自行重新同步并进行 WAN 复制。 如果活动站点出现故障,流量将被路由到被动站点,该站点临时充当活动站点,因为它与活动站点同步。 原始活动站点备份后,它会重新同步自身并再次变为活动站点。
  • 主动-主动: 在这种情况下,如果活动站点出现故障,流量将被路由到另一个站点,该站点继续无缝地为客户端提供服务,因为它也是一个活动站点。 原始站点恢复后,它会自动重新同步并继续进行 WAN 复制。
  • 3+ 主动-主动:
    • 非网桥活动站点宕机: 其他站点继续相互复制,并且该站点上的流量被重新路由到其他连接的站点,而不会中断用户。
    • 网桥活动站点出现故障: 如果网桥活动站点出现故障,则意味着 WAN 复制将不会发生,因为网桥也已关闭。 因此,其他正在运行的活动站点之一临时充当桥接站点。 您还可以在其中一个站点上为此类场景创建备份网桥。 自从 NCache 允许缓存在运行时连接到网桥,客户端没有停机时间。 原始站点返回后,它会自动重新同步,并将流量路由到该站点,就像以前一样。

接下来做什么?

评论 NCache 特征
下载 NCache
请求个性化的现场演示

联系我们

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