问题:我有一个服务器场,它使用非粘性IP和会话服务器来维护所有服务器的会话。因此,客户端返回到哪个服务器并不重要,因为服务器将始终转到会话服务器以获取该客户端的会话数据。当我关闭会话服务器时,所有服务器都会丢失会话数据。
此问题的解决方案之一是使用SQL Server作为会话服务器。遗憾的是,这是不可能的。
所以我在考虑Memcached。如果我使用memcached管理我的会话,我仍然遇到如果我将其中一个memcached服务器关闭会话将丢失的问题。但是,如果我可以针对该服务器发出“将缓存重新分发给其他服务器”的调用,那么这应该可以解决问题。
如何将memcached的缓存从被转移到其他服务器的服务器重新分发?
答案 0 :(得分:1)
我不确定memcached中有这样的功能。但是,关键是,它是缓存。如果服务器出现故障或重新启动,可能发生的最糟糕情况是,您将获得一些缓存未命中(直到重建为止)。 Memcached不应该是一个可靠的数据库(尽管有一个基于memcached的数据库) - 你的数据也应保存在一些较低的持久性级别中,当缓存服务器每次下降一次时你不应该沮丧只要它不会使整个缓存失效并且不会经常发生。
答案 1 :(得分:0)