caching - 缓存集群部署拓扑

标签 caching redis

我打算为一些面向公众的 Web 工作负载部署一个内存缓存集群(目前考虑的是 Redis),并且想知道集群应该位于何处(部署拓扑),IMO 有两个选项:

  1. 位于 Web 层(可水平扩展)
  2. 在 Web 层之后和 DB 层之前创建一个专用缓存集群。

背景,Web 上的应用程序和在 Windows 上运行的数据库层,所以如果我将集群固定在 Web 层上,那么它需要在 Windows 上得到支持(MSFT 有一个稳定的 Redis 端口),如果我使用专用缓存层我在考虑一些轻量级 Linux 服务器(HA 集群),这意味着当 Web 层水平扩展时,它使用这个缓存集群进行查找,例如引用数据等

优点、缺点、我缺少的其他选择?

*请注意,我没有使用云服务提供商“缓存即服务”的奢侈,不幸的是,这不是一个选择......

干杯,

最佳答案

对缺乏围绕 Redis 和缓存的社区支持感到惊讶。

为了回答我的问题,我最终选择了 Linux (RHEL) 主/从 Redis 缓存层,选择了主/从部署拓扑,在缓存层(而不是 Redis 缓存集群)为我提供 HA。主人给我写,主/从允许读。适合我的需要,因为我将在缓存未命中时转到数据库,将 Redis 配置为从不持久保存到磁盘(仅限内存中)。

关于caching - 缓存集群部署拓扑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28037011/

相关文章:

php - 在 Redis 排序集中按时间戳管理旧元素

redis - ServiceStack.Redis 搜索键

linux - 页缓存与 L1 缓存?

java - Hazelcast -executeOnEntries 在第一次执行后停止

javascript - 使用移动 safari 浏览器时如何防止从缓存中重新加载网页?

php - 未捕获的 PHP 异常 RedisException : "Cannot assign requested address"

spring boot 启用 redis http session

javascript - 使用 Javascript 进行脚本缓存的最佳实践

Django 只缓存没有 GET 或 POST 参数的页面?

javascript - 使用 Mongoose 设置 Redis 时了解 JS 代码