我打算为一些面向公众的 Web 工作负载部署一个内存缓存集群(目前考虑的是 Redis),并且想知道集群应该位于何处(部署拓扑),IMO 有两个选项:
- 位于 Web 层(可水平扩展)
- 在 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/