Redis Sentinel,独立或群集,最适合会话?

时间:2018-10-30 09:05:57

标签: session redis redis-sentinel redis-cluster

哪种设置更适合使用Redis的会话?

由于会话数据将生成并在所有会话中断时强制所有用户进行会话,因此单独使用是个不错的选择吗?因为这样可以用最少的资源进行快速恢复。

或者拥有集群将提供更多优势? 大公司如何在会话中使用Redis?欢迎任何建议。

1 个答案:

答案 0 :(得分:2)

集群

您不想在会话中使用它。由于会话不需要高吞吐量,因此不需要。集群也不是高度可用,并且将密钥分散在多个服务器上会造成更多的故障点。这对于缓存是可以接受的,但是对于会话,这将需要再次登录。可以使用群集中的从属设备减轻这种情况,但是具有如下所述的相同缺点。另外,与Redis Sentinel相比,您必须管理更多的服务器。

主/从(带有前哨)

Redis主站/从站具有只写主站,只读从站(具有最终一致性)和异步复制。 对于诸如会话之类的不很密集的事情,这对于用户体验至关重要,但是我不会从奴隶那里读取内容,因为在奴隶奴隶上可能无法使用新的会话,这可能会导致一些较小的用户体验问题,例如会话不正确。 另一方面,故障转移对于会话很有用。如果主服务器出现故障,所有复制的会话仍将继续存在。

独立

对于不属于群集的小型站点(单个服务器*)或登录信息对用户体验或操作而言不重要的站点,这是一个不错的选择。只需要在可公开访问的博客上发表评论即可。一个简单的“稍后重试”消息将起作用。

这种方法的主要优点是,由于它是单个安装,因此设置和维护非常简单。 Redis非常稳定,因此您不会经常遇到Redis本身的问题。与维护,更新或服务器停机相比,故障发生的可能性更大,而不是由于Redis本身的故障。

*如果在生产中使用单个Web服务器进行业务运营,则Redis基础结构应该是您的最后关注点。使其高度可用。

来源:为高可用性WordPress网站构建的基础结构。