0

我无法找到的ActiveSupport的行为::缓存:: MemCacheStore都文档的任何地方,而且我希望这里有人能提供一些线索。 The rdoc saysMemCacheStore如何真正与多个服务器一起工作?

集群和负载均衡的一个可以指定多个memcached的服务器,如果服务器宕机MemCacheStore都将加载所有可用的服务器之间的平衡,然后MemCacheStore都将忽略它,直到它回来了。”

确定。我想要最后一个功能,所以如果一个memcache服务器出现故障,整个堆栈不会失败。但我需要了解负载平衡功能。我认为这不仅仅是轮询请求,因为这会导致不必要的缓存未命中,看来。另外,我使用的会话内存缓存,所以我不希望有人登录到突然没有会话,因为内存缓存客户端“负载平衡”是请求不具有会话的服务器...

有人可以帮我理解“负载平衡”功能的工作原理吗?

回答

3

据我所知,它使用散列机制来确定其内存缓存服务器发送请求。散列机制使用,如果当通过键相同的散列方法所要求的值会告诉轨道正确内存缓存服务器从获取数据被这样存储的密钥值对的密钥。

这意味着,如果一个内存缓存服务器死机,你将失去的数据是上缓存的比例(即在3服务器配置,如果一台服务器死了,你会失去你的缓存的33%)

编辑:请参阅http://www.ruby-forum.com/topic/100104以获得比我刚刚给出的更好的解释。

+0

伟大的描述,非常有意义。感谢您的描述和参考。 – Joshua 2011-04-20 20:02:13

相关问题