NCache 是 .NET/ 的内存分布式缓存.NET Core、Java、Python、NodeJS 和 Scala 应用程序,它速度极快且可扩展。 它用于关键任务应用程序的生产设置,其中许多应用程序也是用户交互的。 在此类应用程序中,高可用性至关重要。 并通过各种功能, NCache 很好地满足了这些需求。
这些功能之一是 Live Upgrade,它使您能够更新 NCache 到较新的版本,而不会通过 桥. NCache 提供了一个 用于 WAN 复制的桥接拓扑 它充当两个缓存集群之间的桥梁,维护您的集群的最新版本。 但是,Live Upgrade 功能仅适用于 NCache Enterprise 版。
为什么升级到 NCache 较新的版本
如果您使用的是旧版本 NCache,我们强烈建议您升级到最新版本以获得所有最新功能和增强功能的好处。 要查看这些功能的所有详细信息和提出的改进 NCache 5.3 SP1,你可以阅读 发行说明 of NCache 5.3 SP1。
实时升级 NCache 数据丢失可忽略不计
通过实时升级,手动升级软件所需的时间大大减少。 您可以使用 实时升级 在缓存仍在运行时将数据从当前运行的缓存(称为源缓存)克隆到最新的缓存(目标缓存)。
由于数据复制的异步特性,所有连接到源缓存的客户端都会感知到源缓存上的活动,即使已将完整副本无缝复制到目标缓存也是如此。 与此同时,源缓存设置继续完美运行,并且不受更改的影响。
上图显示了一个 4 节点集群,其中包含较旧版本的 NCache 安装。 首先,停止节点 3 和 4,并安装最新的 NCache 这些节点上的版本。 接下来,在新的节点上创建一个 2 节点缓存 NCache 安装机器的版本(节点 3 和 4)。 此时,我们共有两个缓存,每个缓存由 2 个节点组成。 我们称它们为源缓存(旧 NCache 版本安装缓存)和目标缓存(新 NCache 版本安装缓存)。 然后,您需要在这两个缓存之间创建一个桥梁,以将数据从源缓存传输到目标缓存。 停止源缓存的节点并安装最新的 NCache 版本就可以了。 接下来,将节点 1 和 2 添加到目标缓存中,使其成为一个 4 节点集群。
理想情况下,最好有一个 4 节点集群,这样您就可以在两个服务器节点之间拆分数据。 集群节点的划分是基于这样的划分无论如何都不会造成数据丢失。 无论您选择何种集群划分,都应该能够在其划分的集群中保存相同的数据。 如果您有一个 2 节点集群,我们不建议拆分它们。 取而代之的是一个临时的 2 节点集群,该集群具有较新版本的 NCache 安装。 一旦现有的 2 个节点加入新集群,您可以删除这些临时节点。
如何升级到 NCache 现场版
例如,我们有一个 4 节点集群,如上一节中的图表所示。 取出两个节点(3和4)并安装最新版本的 NCache 在他们身上(目标缓存)。 其他两个节点(1 和 2)具有旧版本 NCache 安装(源缓存)。 两个缓存在名称和配置方面都是相同的。 这是一种主动-被动配置。
-
- 如上所述,在这两个集群之间创建一个新的桥梁 创建桥梁 页面上发布服务提醒。
- 在里面…… 的标签 网桥.ncconf 在桥节点上,手动添加目标缓存,如下所示:
1234567891011<configuration><bridge-config … ><cache cache-id="demoCache.WestCoast" status="active" servers-list="20.200.20.43" bulk-operation-size="500"enable-compression="False" connection-retry-interval="3" heart-beat-enabled="True" replicator-virtual-queue-size="2048MB" is-connected="True" is-master="False"/><cache cache-id="demoCache.EastCoast" status="active" servers-list="20.200.20.40" bulk-operation-size="500"enable-compression="False" connection-retry-interval="3" heart-beat-enabled="True" replicator-virtual-queue-size="2048MB" is-connected="True" is-master="False"/></bridge-config></configuration> - 在 bridge.ncconf 修改之后,使用以下 PowerShell cmdlet 重新启动网桥服务。
1Restart-Service NBridgeSvc - 提供源缓存和目标缓存作为 Start-BridgeStateTransfer PowerShell 命令的输入以开始状态传输。
12Start-BridgeStateTransfer -Server 20.200.20.43 -Name demoBridge -SourceCache demoCache.WestCoast -TargetCachedemoCache.EastCoast - 数据将从旧集群(主动)异步复制到新集群(被动)。
- 一旦两个缓存完全同步,您需要停止客户端并将它们重新连接到较新的集群。 为此,将源缓存服务器的 IP 地址更改为目标缓存服务器的 IP 地址 客户端.ncconf 每个客户端节点并重新连接客户端。
- 拆除桥梁。
- 客户端成功连接到较新的集群后,停止较旧的集群并在其上安装较新的版本。 升级后将这些服务器添加到具有较新版本的缓存集群中 NCache 其所有服务器上的软件。
- 将节点 1 和 2 一个接一个地加入到较新的集群中。
结论
NCache 允许其用户无缝升级到其最新版本,而数据丢失可以忽略不计。 用户不必处理从一个转移的麻烦 NCache 版本到下一个,无论是实时升级还是 这一点在线下监测数字化产品的影响方面尤为明显。 NCache 版本升级. 有关更多详细信息 NCache, 请参阅 NCache 文档.