Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/neo4j/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Session REDIS作为具有多个前端的会话存储。有哪些选择?_Session_Web Applications_Redis_Scalability - Fatal编程技术网

Session REDIS作为具有多个前端的会话存储。有哪些选择?

Session REDIS作为具有多个前端的会话存储。有哪些选择?,session,web-applications,redis,scalability,Session,Web Applications,Redis,Scalability,我正在开发一个web应用程序,其中多个实例的前端包含与同一个API服务器通信的组 用户将进入应用程序的随机实例(服务器),其会话存储在REDIS后端 我目前的选择是: 1) 在每个web服务器上放置一个Redis服务器并对其进行集群,以便跨所有会话进行复制(这里可能存在一些连续性问题) 2) 设置一个专用的Redis服务器,所有web服务器都可以与之对话 有没有其他我错过的方法? 另外,每个选项的优缺点是什么?关于选项1。如果我理解正确,您尝试群集redis实例。不幸的是,Redis目前还没有提

我正在开发一个web应用程序,其中多个实例的前端包含与同一个API服务器通信的组

用户将进入应用程序的随机实例(服务器),其会话存储在REDIS后端

我目前的选择是:

1) 在每个web服务器上放置一个Redis服务器并对其进行集群,以便跨所有会话进行复制(这里可能存在一些连续性问题)

2) 设置一个专用的Redis服务器,所有web服务器都可以与之对话

有没有其他我错过的方法?
另外,每个选项的优缺点是什么?

关于选项1。如果我理解正确,您尝试群集redis实例。不幸的是,Redis目前还没有提供集群功能

关于方案2。我认为,使用单个Redis实例作为后端会话存储看起来很不错。这种方法看起来更合理。 但是关于选项2。你需要考虑

  • 可伸缩性:单个Redis实例的容量有限
  • 可用性:Redis不提供故障转移/故障回复机制。你需要考虑额外的解决方案来解决这个问题。Sentinel通常用于故障转移场景
如果您打算将redis实例仅用于会话存储,那么可伸缩性将不是问题。(会话数据没有那么大)。唯一需要考虑的是可用性

你考虑的另一个选择是CoucBASE。 Couchbase是另一种nosql,它有集群memcached。因此,它非常适合用于会话存储,并提供内置的扩展/扩展功能和故障切换/回切功能


希望它对您有用。

无论如何,我们都在考虑使用Couchbase作为我们的运营数据。我们决定只在Redis中存储会话。感谢您的输入:)