缓存拓扑的可扩展性
一般而言,可扩展性是指系统随着应用程序需求的变化而提高或降低性能和成本的能力。 如果应用程序在 10 个用户、1000 个用户或 10000 个用户的负载下执行相同的操作,则该应用程序被认为是可扩展的。 通常,数据库很难扩展,因此成为应用程序整体可扩展性的障碍。 NCache作为一种分布式缓存解决方案,它减轻了数据库负载并提供了多种方法来使应用程序在事务负载和存储容量方面更具可扩展性。
可扩展性 NCache 缓存拓扑
根据应用程序的要求,您可以从各种缓存拓扑中进行选择 NCache 优惠。 需要缓存的数据量有限但需要高可用性的应用程序应该选择 复制拓扑。 此拓扑提供高可用性,因为集群中的所有节点都具有相同的数据副本。 该拓扑提供了读取可扩展性,并且可以承受多个节点故障(n 个节点的集群中的 n-1 个节点故障),而不会丢失任何数据。 如果应用程序需要缓存不断增长的数据,那么 复制拓扑 不是答案。 它只能在缓存集群中的单个节点上存储尽可能多的数据,而与节点数量无关。
需要增加数据量但可以容忍数据丢失的应用程序应使用 分区拓扑。 这种拓扑不仅在读取和写入方面可扩展,而且在存储方面也可扩展。 但是,这并不能提供高可用性,因为每个节点故障都会导致数据丢失。 当您的应用程序可以承受数据丢失时,您可以使用此拓扑。
如果要求是满足不断增长的数据需求以及高可用性, 分区副本拓扑 两者都提供。 尽管它的可用性不如 复制拓扑,仍然可以承受一个节点故障而不丢失任何数据。 每个分区都有一个备份,因此每个节点都有一个分区和另一个分区的一个备份。 这意味着,在出现同时节点故障(在大多数情况下不太可能发生)之前,拓扑会同时满足可扩展性和高可用性需求。