假设我们有一个面向性能的应用程序在集群中工作。它包含很多用户。众所周知,会话的复制很差,因此应用程序的可扩展性很差。当然最好的方法是将应用程序创建为无状态的。(节点之间没有序列化)但我的问题是:当我们决定将 HttpSession 保留在某些存储中时,例如 Redis 或 memcached ?
您认为将 HttpSession 保留在某个 nosql 实例中是个好主意吗?
谢谢
假设我们有一个面向性能的应用程序在集群中工作。它包含很多用户。众所周知,会话的复制很差,因此应用程序的可扩展性很差。当然最好的方法是将应用程序创建为无状态的。(节点之间没有序列化)但我的问题是:当我们决定将 HttpSession 保留在某些存储中时,例如 Redis 或 memcached ?
您认为将 HttpSession 保留在某个 nosql 实例中是个好主意吗?
谢谢
内存数据库有两个主要缺点:
所以问题是:你的会话数据有多重要?当您丢失用户的会话数据时,要么是因为您必须删除它以便为新会话腾出空间,要么是因为您必须重新启动数据库服务器,这意味着什么?他们是否只需要重新登录,还是会丢失有价值的数据?
请注意,还有 memcacheDB,它的工作方式与 memcached 一样(字面意思!它被设计为用作替代品),但备份磁盘上的所有数据。当数据丢失不可接受时,这是 Memcached 的一个很好的替代方案。