NCache 是一种极其快速且可扩展的内存 分布式缓存 适用于 .NET 应用程序。它主要用于读取密集型任务关键型生产环境。在此类应用中,高可用性和 100% 正常运行时间至关重要,这使得 NCache 一种必需品。
主要功能之一 NCache 为此类环境提供的是 Live Upgrade,它可以让您在不停机的情况下升级到较新版本。 NCache 在线升级是一种零停机迁移机制,旨在版本转换期间保持 100% 的可用性。它利用主备桥接拓扑结构,在不同版本之间实时同步数据。 NCache 版本控制,实现无缝过渡,不会丢失数据或中断应用程序。
实时升级显著减少了手动服务器升级通常带来的延迟。它允许您以最小的延迟升级缓存集群的所有服务器。由于 NCache,按照设计,要求所有服务器运行相同版本的 NCache,这可以防止任何版本不兼容问题。
为了使您的集群版本保持最新, NCache 提供 用于 WAN 复制的桥接拓扑 充当两个缓存集群之间的桥梁。通过这种方式,您可以将当前正在运行的缓存的数据增量复制到最新的 NCache 在缓存继续运行时使用该桥接缓存。
此实时升级过程类似于蓝绿部署策略。您的“源”集群充当“蓝色”环境,而“目标”集群充当“绿色”环境,桥接器确保在最终切换之前实现数据一致性和无缝同步。
按照此处提供的步骤通过 Live Upgrade 升级集群的缓存。
在您的集群中,如果您有 2 个或更多缓存服务器,请取出其中的一部分以升级 NCache 这些服务器上的服务器软件。
取出子集时,最好总共有 4 台或更多缓存服务器,以便源集群中至少剩下 2 台服务器。然而,在这种情况下,如果唯一支持应用程序的服务器发生故障,您的应用程序可能会停机。
升级后 NCache 在两台或更多缓存服务器上,创建一个包含所有服务器的集群,并在这些服务器上启动缓存。每个子集群中必须至少有两台服务器,以确保高可用性——如果只有一台服务器发生故障,可能会导致停机。
成功创建包含所有运行较新版本 NCache, 创建桥梁 在新集群(通常称为 目标缓存) 和旧版本集群 (源缓存).
要创建此桥接器,您可以使用两台专用服务器和旧版本的 NCache 或者在两台运行旧版本 NCache. 使用 Bridge 拓扑的主动-被动配置,并等待目标集群与源集群完全同步。
在 Bridge 节点上,您需要添加目标缓存的 IP 地址来填充 Bridge 服务器。您可以通过以下方式执行此操作: 网桥.ncconf 如下:
<configuration>
<bridge-config ... >
<cache ... servers-list="20.200.20.38, 20.200.20.29" ... />
</bridge-config>
</configuration>
两个集群完全同步后,您需要将部分客户端迁移到新版本的缓存集群。迁移完成后,您需要立即停止所有连接到旧版本的客户端。这种通过主动-被动桥接进行的缓存客户端迁移可确保数据不丢失,并且客户端应用程序运行不会中断。
客户端连接成功转移到目标集群后,需要停止并升级源集群。升级完成后,这些节点将重新加入目标集群,恢复完全高可用性,并提升新版本环境的总计算能力。
这应该是您使用 Live Upgrade 功能的最后一步 NCache 升级现有的缓存集群。
现在您需要将连接到旧版本的剩余客户端迁移到新版本缓存集群。 成功迁移所有客户端后,您可以开始在它们上运行应用程序。
如果你不想升级缓存客户端, NCache 允许旧版本客户端与新版本缓存集群无缝协作。因此,您可以自行决定是否升级客户端或保留旧版本 NCache 您的应用程序服务器或 Web 服务器上的客户端(NCache 远程客户端)。即使所有缓存服务器都升级到较新版本,您的应用程序仍能完美运行。这是因为 NCache 提供 向后兼容 为客户。
建议升级 NCache 由于较新的客户端可能包含任何请求的错误修复,因此您的应用程序和 Web 服务器上的客户端软件可能会被打包。此过程非常简单且无缝。这是因为较新版本的客户端向后兼容旧版本。这种兼容性使您的应用程序可以与较新的客户端兼容,而不会注意到任何变化。在您的应用程序中使用实时升级的最大优点是它不需要任何代码更改或重新编译。您只需升级 NCache 客户端软件,其余部分将自动为您完成。
要获取有关如何使用 Live Upgrade 功能升级您的 NCache 集群,请遵循我们的文档 实时升级 NCache 版本.