应用程序性能至关重要,尤其是在面向客户的应用程序中,客户期望实时响应,任何延迟都可能导致用户体验不佳和业务损失。为了满足这些需求,.NET 开发人员依靠可扩展且可靠的缓存解决方案来帮助提高其应用程序的性能。 NCache是一种强大的内存分布式缓存解决方案,它通过无缝处理数据库瓶颈和高事务负载来解决这些挑战,使其成为关键任务应用程序的必备工具。
实施新的分布式缓存层乍一看似乎很困难,但其实比你想象的要简单。本博客可帮助你设置、配置和集成 NCache 只需五个简单的步骤即可使用您的 .NET 应用程序。
关键精华
简化的五步设置: 成功部署 NCache 分布式缓存涉及从环境准备和集群创建到最终应用程序集成的清晰路径。
消除数据库瓶颈: 通过在对等集群上分发数据,.NET 应用程序可实现线性可扩展性并显著降低延迟。
直接兼容.NET: NCache 为 .NET 生态系统提供原生集成,同时支持以下两种方式: NCache SDK 和标准 IDistributedCache 界面。
已验证的高可用性: 利用内置工具,例如 NCache 管理中心和压力测试确认您的集群稳定可靠,已准备好应对生产流量。
第 1 步:软件设置
与 NCache 设置环境以确保您的缓存基础架构得到正确配置和优化。这涉及选择适当的部署选项并设置将缓存数据的服务器。 NCache 提供跨各种环境(本地设置、云平台或容器化解决方案)的多种部署选项。为确保满足您的要求,建议首先 下载 NCache 并在您首选的设置中对其进行测试,作为为期 30 天的评估的一部分。让我们详细探讨这些部署选项,以帮助您决定最适合您的应用程序的选项。
本地部署
如果你想部署 NCache 在私有数据中心或本地环境中,您可以安装 NCache 直接在您的服务器上。此方法可让您完全控制缓存基础架构,非常适合具有严格数据治理策略的组织。要开始使用,请按照以下步骤操作:
- 下载 NCache 软件:
浏览 NCache download 页面并选择适合您环境的版本:- 对于 .NET 8 及更高版本的用户,请下载 微星 Windows 安装程序或 。广州 适用于 Linux。此安装程序还兼容 .NET 5 和 .NET 6 用户。
- 对于使用 .NET Framework 4.8 的旧版应用程序,请下载 微星 与此版本相对应的 Windows 安装程序。
安装过程很简单,但你可以参考 NCache 安装指南 以获得进一步的指导。
- 设置 NCache 客户:
除了安装服务器软件之外,您还需要配置客户端以连接到分布式缓存。您可以轻松集成 NCache 通过设置 .NET 开发环境来使用 .NET 应用程序。有关如何设置环境和安装必要的 NuGet 包的详细说明,您可以参考 NCache 安装指南。如果您想跳过 NCache 安装过程中,您可以使用 客户端.ncconf设置完成后 NCache,下一步是配置缓存连接。为此,请遵循 缓存连接部分 将您的应用程序连接到 NCache. 接下来,您就可以开始使用 NCache强大的缓存 API。有关详细指导,请参阅 NCache 程序员指南.
云部署
对于云应用程序, NCache 提供两种不同的云部署模型以满足不同的需求:
- SaaS(软件即服务):
NCache 在流行的云平台上提供完全托管的服务,例如 Azure 和 AWS。该模型消除了管理缓存服务器通常涉及的大部分运营开销。- Azure 或 AWS Marketplace: 您可以直接购买并部署 NCache 作为这些市场的一项服务。 NCache 企业云 在两个平台上均可轻松使用,轻松上手。
- 付款和管理: 当您选择 SaaS 模型时,Azure 或 AWS 会管理付款和服务器维护,让您完全专注于应用程序开发。
- BYOL(自带许可证):
为了更好地控制, NCache 还支持 BYOL 模型。此方法允许您部署 NCache 在 Azure、AWS 或 Google Cloud 等云平台上使用,同时自带许可证。使用 BYOL,您可以管理许可成本、自定义设置并全面管理云缓存基础架构。
容器化部署(Docker/Kubernetes)
NCache 还针对容器化环境进行了优化,提供了灵活、轻量级的部署模型,非常适合微服务架构。如果您正在使用 Docker or Kubernetes,您可以无缝集成 NCache 到您现有的容器化工作流程中。如果您导航到 Kubernetes/码头工人 的选项卡 NCache 下载中心,您可以找到设置容器化部署的资源。例如,在 Docker 上,您可以轻松提取 .NET 版本的 NCache 通过运行以下命令,即可在 Windows 或 Linux 系统上安装企业版:
|
1 |
docker pull alachisoft/ncache:latest |
对于 Kubernetes, NCache 支持 Azure AKS、AWS EKS 和 Red Hat OpenShift 部署,为用户提供部署灵活性 NCache 无论他们的 Kubernetes 集群托管在何处。
系统要求
在继续安装之前,请确保您的基础架构满足最低硬件和软件要求 NCache 以达到最佳功能。 NCache 服务器和客户端要求如下:
NCache 服务器要求:
NCache 提供不同的 服务器配置文件 以适应不同的部署场景。它们的服务器要求取决于 NCache 部署 — 无论是在生产环境还是在准备阶段。对于事务负载较高的生产环境,您可以选择更大的配置文件,例如 SO-32、SO-64 或 SO-128。在非生产环境(例如测试或 QA)中,较小的配置文件(例如 SO-4(4 GB RAM、2 个 vCPU)或 SO-8(8 GB RAM、4 个 vCPU))就足够了。
支持的操作系统:
- Windows上: NCache 支持 Windows Server 和 2019。
- Linux的: NCache 可以部署在 Ubuntu、Debian 和 Red Hat Enterprise Linux (RHEL) 上。
请注意,无论平台如何(Windows 或 Linux),服务器上都必须安装 .NET 6 或更高版本,因为 NCache 使用.NET 作为服务器端代码,包括读通、写通和其他服务器端缓存机制等操作。
NCache 客户要求:
NCache 客户端(通常是应用程序或 Web 服务器)具有与 NCache 服务器。客户端平台和硬件应与服务器端基础设施保持一致,以确保最佳性能。
推荐硬件:
- CPU:8-40 核
- 内存:16-128 GB
- 网卡:1~10 Gbit
客户端可以部署在 Windows 和 Linux 环境中。具体平台的选择取决于您的应用程序堆栈。
客户端支持平台:
Windows上:
- Windows服务器2019的
- .NET 6 或 .NET 4.0+,取决于您的应用程序要求。
Linux的:
- Ubuntu、Debian 或 Red Hat Enterprise Linux
- .NET 6 或更高版本(适用于 .NET 应用程序)
| 部署选项 | 理想场景 | 操作系统支持 |
|---|---|---|
| 内部部署 | 对 .NET Framework/Core 的最大硬件控制 | Windows Server(2016+)和 Linux(Ubuntu、RHEL) |
| 云(IaaS) | 使用 Azure、AWS 或 GCP 的混合云策略 | Windows/Linux 虚拟机和市场镜像 |
| Docker容器 | 微服务和DevOps驱动的部署 | Windows Nano/Server Core 和 Linux 镜像 |
| Kubernetes | 面向大规模应用的自动化编排 | NCache 操作员(AKS、EKS、GKE、OpenShift) |
环境选定后,下一阶段就是集群的物理创建。
步骤 2:如何创建一个 NCache 分布式缓存集群?
下一步是创建一个 NCache 集群,它允许您将缓存分布在多个服务器上,以增强可扩展性和容错能力。 NCache 让您能够通过其强大的功能轻松配置集群 NCache 管理中心。您可以定义分布式缓存拓扑、配置缓存大小、驱逐策略,甚至可以为较大的对象启用压缩。添加节点并设置必要的参数后,您的集群将启动并运行。有关此过程的更详细指南,您可以参考 本博客.
步骤3:设定 NCache 客户
下一步是配置 NCache 客户端。客户端节点是连接到集群缓存以进行 API 调用的应用程序服务器。您可以使用 NCache 管理中心,可让您无缝管理和监控缓存。分布式缓存运行时,可以动态添加客户端,从而提供扩展灵活性。有关如何添加或删除客户端节点的详细说明,请参阅 NCache 管理员指南.
第四步:如何验证和测试 NCache 集群性能?
下一步是测试 NCache 簇。 NCache 提供监控工具,通过图形仪表板跟踪缓存性能,显示内存使用率、请求率和集群连接性等指标。您可以自定义这些仪表板并启用分布式缓存和客户端的日志记录,以获得详细的见解。要监控您的集群,请单击 NCache 管理中心. 有关详细信息,请参阅 NCache 管理员指南。以下是一个监控仪表板,说明了您可以从中获得的可能的性能见解 NCache 监控。

图1: NCache 管理中心集群健康仪表盘
步骤 5:整合 NCache 将 API 集成到您的 .NET 应用程序代码中
最后一步是使用 NCache 在您的应用程序中。 NCache 可用于各种目的,包括会话状态管理(用于 ASP.NET 和 ASP.NET核心), 对象缓存并作为 SignalR 的背板(用于 ASP.NET 和 ASP.NET核心)让我们讨论一下两种常见的用例:作为分布式缓存和用于 消息传递和流.
NCache 作为分布式缓存:
NCache 通过在应用程序层和数据库之间缓存数据,减少数据库调用并提高可扩展性,有助于优化应用程序性能。它确保应用程序 80% 的时间访问缓存的数据,从而提高整体系统性能。有关此架构如何工作的更多详细信息,请参阅视频 分布式缓存架构下图说明了如何 NCache 作为分布式缓存工作。

图2: NCache 分布式缓存架构和数据流
NCache 对于消息传递和流:
NCache 充当可扩展的消息传递和流平台,支持微服务、Web 应用和 API 之间的解耦通信。有关此模型的更多见解,请参阅 发布/订阅消息为了粗略地了解该模型,下图演示了 Pub/Sub 消息传递架构的工作原理。

图3: NCache 作为分布式消息传递和流平台
结语
总之, NCache 简化了 .NET 应用程序的缓存,轻松提高了性能和可扩展性。如需进一步帮助,请浏览实施示例 NCache的 GitHub 存储库 并尝试 NCache 无需安装即可在线使用 NCache 兒童遊樂區。 尝试 NCache 今天就提升您的应用潜力!
常见问题
问:我的第一个部署选项应该选择哪种? NCache 环境?
答:对于传统的企业应用,本地部署的 Windows 服务器能提供最大的控制权。但是,如果您正在构建现代微服务,为了提高敏捷性,建议使用 Docker 或 Kubernetes。 NCache 支持所有这些平台上的 .NET 8 和 Linux,让您可以在 30 天试用期内评估全部功能,而无需考虑您选择的基础架构。
问:客户端配置是否必须使用 client.ncconf 文件?
答:是的 client.ncconf 配置文件是向应用程序提供缓存服务器 IP 地址的标准方法。虽然您可以通过代码配置这些设置,但使用配置文件可以让您在不重新编译 .NET 应用程序的情况下更新服务器节点或集群设置,从而确保更好的可维护性。
问:如何确认我的 .NET 应用程序是否已实际连接到集群?
答:您可以使用以下方式确认连接: NCache 您可以通过管理中心查看“客户端节点”,或运行压力测试工具。当您在性能仪表板中看到“每秒活跃添加次数”时,即表示连接成功,证明您的连接正常。 CacheManager.GetCache 第 5 步的调用已成功建立连接。
问:我可以使用标准的 .NET IDistributedCache 接口吗? NCache?
A:当然。虽然 NCache API 提供类似 SQL 搜索等高级功能, NCache 它还为 ASP.NET Core IDistributedCache 接口提供了一个提供程序。这使您可以按照本博客中的步骤设置集群,然后使用标准的 .NET 缓存命令与其交互。






