我在负载平衡的Web服务器环境中使用ASP.NET和WCF服务,在服务层中使用Memcached.
我还想用Memcached替换ASP.NET State Server(用于Session State).现在我担心这不是一件好事,因为根据我的理解,Memcached是缓存服务器而不是状态服务器,是真的吗?
如果我理解正确,Memcached不会将数据分发到Memcached服务器场中的其他节点.相反,使用特殊的散列算法来确定服务器场中的哪个节点包含所请求密钥的数据,而ASP.NET状态服务器在添加数据时尽快分发数据,以防止单点故障.
换句话说,Memcached应仅用于性能原因,存储在其中的数据应始终可重新创建,以防项目被删除以为新对象腾出空间,或者如果单个机器实际存储数据下.
那么我不能仅仅依赖Memcached来存储会话状态数据吗?如果我不能,那么我不明白Memcached如何经常与使用ScaleOut StateServer和ASP.NET State Server进行比较和被视为替代,因为这些实际上是状态服务器,这是另一回事,对吧?
我现在有点不确定Web服务器场中高性能分布式会话状态的最佳方法是什么.
谢谢