我已经使用分布式缓存解决方案已有一段时间了(NCache,AppFabric等),我将根据我在分布式缓存方面的经验来回答所有三个问题。
1:分布式缓存解决方案允许您通过创建缓存集群来将数据保留在所有服务器上。 假设您有2个缓存服务器(服务器节点),并且已在缓存中添加了10个项目。 理想情况下,两个服务器节点中都应包含5个项目,因为数据负载是在缓存群集中的服务器数量之间分配的。 通常,这可以借助散列和智能数据分发算法来实现。 结果,您的数据请求负载也将在所有缓存服务器之间分配,并且随着您在缓存群集中增加服务器的数量,跨国容量也将实现线性增长。
2:缓存群集可以包含许多服务器计算机,这些服务器也称为服务器节点。 是的,服务器A在您的示例中是服务器节点或服务器计算机。
3:通常,使用复制支持,分布式缓存系统非常可靠。 如果一台或多台服务器出现故障,并且您已打开复制功能,则不会丢失数据或停机。 NCache具有不同的类型来解决此问题,例如复制拓扑和副本拓扑分区,其中每台服务器的数据也复制到另一台服务器上。 如果一台服务器发生故障,该服务器的复制数据将自动从尚存的服务器节点中获取。
在您的示例中,服务器A(1、3、5、7、9)的数据被复制到服务器B(2、4、6、8、10),反之亦然。 如果服务器A发生故障,则服务器B上存在的服务器A的数据将变为可用并从那里使用,这样就不会发生数据丢失。 因此,如果服务器A发生故障并且应用程序请求数据(1),则将从服务器B检索此数据,因为服务器B包含服务器A的所有数据的备份。这对您的应用程序是无缝的,并由缓存自动进行管理 系统。