NCache 是一种性能优化解决方案,提供可扩展性和高可用性。 它提供各种缓存拓扑,以提供线性可扩展性以及数据一致性和可靠性。 这些拓扑旨在满足在小型两服务器缓存环境中运行的应用程序到具有数百个缓存服务器的大型缓存集群的不同缓存需求。
以下是缓存拓扑的特征 NCache 提供:
复制缓存
该拓扑通过在多个缓存服务器上进行数据复制来确保数据的可靠性。 这 复制缓存 对于读取操作来说速度极快且可扩展。 但是,写操作的可扩展性不是很好,因为它们与集群中的所有服务器同步。 该拓扑适用于较小的缓存环境,其中读取操作的数量高于写入操作。 以下是复制缓存拓扑如何工作的简要概述。
复制缓存拓扑如何工作?
Replicated Cache 拓扑提供了高数据可用性,它支持在不停止现有缓存的情况下动态添加和删除服务器。
与分区和分区副本拓扑不同,每个客户端应用程序根据缓存服务器确定的负载平衡算法仅连接到一个服务器节点。 当连接的服务器出现故障时,客户端应用程序连接到列表中的下一个服务器。
镜像缓存拓扑
镜像缓存 是一个 2 节点主动/被动缓存集群,专为较小的缓存环境而设计。 该拓扑通过从主动节点到被动节点的异步复制/镜像提供数据可靠性和可用性。
镜像缓存拓扑如何工作?
在镜像缓存拓扑中,客户端节点仅连接到集群中的活动服务器节点,以进行所有读写操作。 如果主动服务器节点出现故障,客户端应用程序会自动连接到之前的被动节点。 这种故障转移支持可确保镜像缓存始终正常运行。 该拓扑为写入操作提供异步镜像,有助于提高应用程序的性能,因为多个写入是作为被动服务器节点上的批量操作执行的。
分区缓存
它是最快和最具可扩展性的缓存拓扑之一 NCache。 该拓扑对于读取和写入操作同样有效。 它通过向集群添加服务器来实现线性可扩展性。 下面简要概述了分区缓存拓扑的工作原理。
分区缓存拓扑如何工作?
在分区缓存拓扑中,缓存在运行时被分成多个部分,每个缓存服务器都有一个分区。 这些分区共同组成一个包含 1000 个桶的集群缓存,均匀分布在所有分区中。 集群创建 Distribution Map,其中包含不同分区中桶的映射。 该映射可确保客户端和服务器节点之间进行有意义的通信。
该拓扑还通过将所有客户端应用程序连接到缓存服务器来提供高数据可用性。 这样,即使连接的服务器出现故障,应用程序也可以通过请求其他服务器来获取所需的数据。
分区副本缓存拓扑
这是最流行的缓存拓扑 NCache. 因为它为用户提供了两全其美的方式,具有线性可扩展性和高数据可靠性。 此拓扑几乎与分区拓扑一样可扩展,并通过同步和异步复制模式提供有前途的性能和高数据可用性。 以下是此拓扑如何工作的简要概述。
分区副本缓存拓扑如何工作?
随着动态分区的创建,拓扑还在不同的服务器节点上创建这些分区的动态副本——当出现连接故障或节点停机情况时,这些副本用作备份。 在这种情况下, NCache 从副本节点获取数据并 redis致敬它。 但是,这些副本限制了集群的可扩展性,因为添加的每个服务器节点都将分为活动分区和副本分区。
该拓扑提供两种复制模式; 同步和异步。 在异步复制中,所有副本都将在后台创建,从而实现零性能延迟。 但这涉及到当副本关闭时数据丢失的可能性很小,因为数据不会到达那里。 为了避免任何此类损失,拓扑还提供同步复制,其中有副本的运行时创建,并且在副本上失败的每个操作也将被视为在分区上失败。 该拓扑提供完整的服务器连接以确保高数据可用性。
客户端缓存拓扑
在 客户端缓存 拓扑,缓存驻留在非常靠近您的应用程序,并允许您快速缓存来自分布式缓存的数据。 客户端缓存也可以被认为是“缓存之上的缓存”。 它适用于读取密集型应用程序,但如果您的应用程序必须执行相同数量的读取和写入操作,那么它会工作得更慢,因为写入操作需要在两个地方更新数据。
尽管客户端缓存是本地的,但它并不是独立的,因为它始终与集群缓存同步。 此同步可确保客户端缓存中的数据始终得到更新。 以下概述了客户端缓存拓扑的主要特征。
客户端缓存拓扑如何工作?
客户端缓存存在于 InProc(在您的进程内)或 OutProc 模式(本地到网络/应用服务器)。 在这两种情况下,它都会提高您的应用程序性能。 InProc 模式允许您在“应用程序堆”上缓存对象,这为您提供“InProc Speed”其他分布式缓存。 客户端缓存的最大好处是它不涉及应用程序中的代码更改。 相反,您只需通过配置更改将其插入即可。
该拓扑提供乐观和悲观数据同步。 Client缓存中的默认同步是乐观的,其中 NCache 客户端假定客户端缓存拥有的任何数据都是最新的副本。 在悲观同步中,缓存客户端首先检查集群缓存是否有更新版本的缓存项。 如果是,则客户端获取它,将其放入客户端缓存,然后将其返回给客户端应用程序。
结论
NCache 提供多种缓存拓扑以满足其客户的不同缓存需求。 它们都是分布式的、高度可扩展的和可靠的。 根据您的数据大小、您需要执行的操作的性质以及您必须进行的交易数量,您可以选择上述任何一种拓扑。 探索更多关于 NCache topologies 不要犹豫下载 60天免费试用 NCache.