哪种设置更适合使用 Redis 的 session ?
由于 session 数据将产生并强制所有用户在关闭时进行 session ,独立使用是否是一个不错的选择?因为这允许用最少的资源快速恢复。
或者拥有集群会提供更多优势? 大公司如何使用带 session 的 Redis?欢迎提出任何建议。
最佳答案
集群
您不想将其用于 session 。不需要它,因为 session 不需要高吞吐量。集群也不是高度可用的,并且将 key 分布在多个服务器上会产生更多的故障点。这对于缓存来说是可以接受的,但是对于 session 来说,这将需要重新登录。这可以在集群中使用从属来缓解,但具有如下所述的相同缺点。此外,与使用 Redis Sentinel 相比,您必须管理更多的服务器。
主/从(带哨兵)
Redis master/slave 有master-only write,read-only slaves,最终一致性,异步复制。 对于像 session 这样不是很密集且对用户体验至关重要的东西,我不会从从机读取,但是,因为新 session 可能在从机上不可用,这可能会导致不正确的 session 出现一些小的用户体验问题。 另一方面,故障转移对 session 有益。如果主服务器发生故障,任何复制的 session 仍将继续存在。
独立
对于不属于集群(单服务器*)的小型站点或登录信息对用户体验或操作不重要的站点,这是一个不错的选择,例如仅需要在可公开访问的博客上发表评论。一个简单的“稍后再试”消息将起作用。
这种方法的主要优点是它的设置和维护非常简单,因为它是一个单一的安装。 Redis 非常稳定,因此您不会经常遇到 Redis 本身的问题。与 Redis 本身的故障相比,由于维护、更新或服务器停机而导致故障的可能性更大。
*如果您在业务生产中使用单个网络服务器,Redis 基础架构应该是您最后关心的问题。使其具有高可用性。
资料来源:为高度可用的 WordPress 网站构建基础设施。
关于session - Redis Sentinel,独立或集群,哪个最适合 session ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53060714/