如果您的业务严重依赖数据,特别是如果它是一个高流量的系统,那么任何数据丢失的机会肯定足以敲响警钟。 此外,灾难恢复的想法一定是一场彻底的噩梦。
特别是如果您已经合并了缓存层,因为根据其定义,缓存数据(尤其是瞬态数据)是不稳定的。 此瞬态数据可以是 ASP.NET 会话、应用程序生成的任意数据或聚合数据。 此外,如果丢失其他缓存数据,它会从数据库重新加载,这会损害性能——这是没人想要的。
幸运的是, NCache 是基于这样的认识而创建的:在处理分布式缓存解决方案时,峰值负载故障、系统中断等都是不可避免的问题。 因此,它试图保证高缓存数据在任何可能的地方可用。
因此,请规划您的灾难恢复 NCache 尽早让我们指导您完成它。 对缓存层进行彻底的风险评估(即识别敏感数据,如果您正在考虑数据中心 - 指定您的被动站点等),您需要确定可能的恢复过程。 然后,您必须在实施后进行一些演练,以确保您的策略有效。 下面让我们探讨其中的一些途径。
如何 NCache 帮忙解决这个问题吗?
NCache 为用户提供了多种灾难恢复应急方案,以下是最重要的:
高 A可用性在 NCache C光泽s
作为内存中的分布式数据缓存解决方案, NCache 提供的架构即使在前面讨论的高流量或系统停机期间也能保证高数据可用性。 其点对点架构避免了与单点故障相关的问题。
此外,它还提供一系列缓存拓扑来确保高可用性。 它们如下:
- 镜像拓扑: 具有两个节点的集群,其中一个节点处于主动状态,并在被动节点中进行镜像。
- 复制拓扑: 每个节点上都复制相同数据的集群。
- 副本拓扑分区: 集群分为多个分区,其中每个分区在不同的服务器上进行复制,并且副本是被动的,这意味着客户端无法连接到它们,直到主动节点被确定为死亡或永久不可用。
根据您的应用程序要求,这些拓扑中的任何一种都可能正是您实现高可用性所需的。 由于合并时创建的各种副本可确保您不会丢失缓存数据。 例如,在镜像拓扑中,当失去主动节点时,您可以从以前的被动节点获得完整的副本。 同样,在 POR 拓扑中,如果活动节点被认为已死亡并丢失分区,则其副本将可用以开始为您提供服务。 在复制拓扑中,每个节点都有整个缓存的副本,保证了高可用性。
此外,其点对点架构使其能够 自愈动态集群。 这种基于 TCP 的动态集群可在不停止集群的情况下提供 100% 的正常运行时间。 更远, NCache负载平衡的能力非常适合这种设置,因为它可以更有效地分配流量——从一开始就防止服务器过载。 显然,如果您正在寻求高可用性,您应该考虑 NCache.
实时数据持久化
对于那些只想额外安心的人来说,这是一项功能, 坚持 是指将数据写入特定位置以进行持久存储和数据备份的过程。 在持久性存储中存储项目的整个机制是异步的,并且通过持久性队列进行。
缓存重新启动后,整个缓存将自动重新填充。 这不需要用户配置(前提是您已经设置了持久性存储)。 更不用说,集群中的每个节点都可以访问集中存储,以便在遇到任何丢失数据时重新填充。
广域网复制
与高度事务性应用程序的灾难恢复最密切相关的设置是拥有一个或多个数据中心。 在这里,一个主动数据中心有一个被动数据中心,该数据中心通常位于不同的地理位置,正是为了实现这些目的。
因此, NCache 通过提供 WAN 复制功能 桥。 在主动-被动配置中,您部署 NCache 在主动和被动站点上,在主动站点上创建网桥拓扑。 所有应用程序更新都从主动站点的缓存发送到桥接器,桥接器在几毫秒内将它们异步发送到被动站点(这里唯一的延迟是数据中心之间相距较远的延迟)。
然而,异步复制意味着每个站点的应用程序和缓存不会等待其数据复制到其他数据中心。 桥上的数据更新队列,这是一个两节点集群。 如果您有三个或更多数据中心,桥接器会将任何传入更新并行应用到多个活动站点。 此外,该桥还执行批量更新。 因此,您可以将多个数据项合并到一个请求中,并将它们作为单个批量请求发送到其他站点,从而减少网络行程。
如果活动站点由于某种灾难而宕机,网桥就会宕机,应用程序也会宕机。 因此,被动站点必须满足所有应用程序流量,从而变得主动。 所有数据都已从原始主动站点复制到原始被动站点,不会对用户造成干扰。 因此,所有更新都发生在这里,但用户不会看到任何中断。
一旦原始主动站点再次启动,它就会连接到新的主动站点(原始被动站点)并完全同步。 同步完成后,两个数据中心均处于主动-主动状态。 即使所有流量都流向原始被动站点,也会发生这种情况。 此时,您可以将所有流量卸载到原始活动站点。 之后,您可以将网桥上的主动-主动站点状态更改回被动。 NCache 允许您在运行时执行所有这些操作。
备份和恢复
如果数据的特定版本很关键,您可以使用 NCache“ 导入/导出缓存数据 特征。 您可以使用 Export-CacheData PowerShell cmdlet,导出后,您可以使用 Import-CacheData cmdlet 获取现有缓存备份中存在的所有项目以及相关 Lucene 文档。
结论
NCache 为用户提供多种强大的工具来确保高可用性。 在大多数情况下,这些工具(主要是其拓扑、架构和 WAN 复制)可以防止灾难场景中发生严重的数据丢失。 然后, NCache 更进一步,允许创建两种类型的备份,以确保在最坏的情况下您有备份。 所以,下载 NCache 现在并设置一个缓存解决方案来指导您度过好时光和坏时光。