问题描述
我们刚刚测试了一个由2个服务器组成的AppFabric集群,其中我们删除了领先服务器。第二个服务器对任何请求的超时都有错误:
We just tested an AppFabric cluster of 2 servers where we removed the "lead" server. The second server timeouts on any request to it with the error:
实际上,这意味着如果群集中的一台服务器出现故障,那么它们都将全部宕机。 (请注意,我们不使用Windows群集,只是将多个AppFabric缓存服务器彼此链接。)
In practive this means that if one server in the cluster goes down then they all go down. (Note we are not using Windows cluster, only linking multiple AppFabric cache servers to each other.)
即使单个服务器出现故障,我也需要群集才能继续运行。我该怎么做?
I need the cluster to continue operating even if a single server goes down. How do I do this?
(我知道这个问题使Serverfault陷于边缘,但是恕我直言,开发人员应该知道这一点。)
(I realize this question is borderlining Serverfault, but imho developers should know this.)
推荐答案
您必须至少在三台领先服务器上安装AppFabric缓存,才能使该缓存在一次服务器崩溃中幸免。文档指出,只有当主要服务器的多数宕机时,集群才会宕机,但是在精打细算中,他们解释说2之1占多数。我已经验证了从三个潜在客户节点群集中删除服务器的工作原理与广告一样。
You'll have to install the AppFabric cache on at least three lead servers for the cache to survive a single server crash. The docs state that the cluster will only go down if the "majority" of the lead servers go down, but in the fine print, they explain that 1 out of 2 constitutes a majority. I've verified that removing a server from a three lead-node cluster works as advertised.
这篇关于AppFabric冗余的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!