caching - 使用 Zookeeper 和 Redis 的分布式索引
问题描述
我们可以使用 zookeeper 服务将来自客户端的请求重定向到特定的 Redis 节点吗?例如,我有 10 个 Redis 节点(一个集群),其中每个集群都包含一些缓存数据。
那么我可以为 zookeeper 中的每个节点维护索引范围,以便 zookeeper 服务知道哪个节点具有哪个索引范围,因此当用户请求 x 到 y 范围内的记录时,它会重定向到保存该记录的 Redis 节点范围?
解决方案
是的,事实上这是两步索引。许多数据库使用 2-step sorted map
- 0 级索引(在您的情况下为 zookeeper)包含到 1 级数据库的范围映射。
- 一级索引(在您的情况下为 Redis)包含实际数据。
但是,还有其他选项,例如使用一致散列,如果一致性不是硬性要求,则可以避免像dynamo db这样的 2 级索引。
推荐阅读
- javascript - p5.js 使用 directionalLight 渲染纹理时出现意外的缓慢性能
- apache-spark - 工作人员初始化后运行脚本
- reactjs - 路由内的嵌套路由不起作用 - React
- java - Thymeleaf 返回视图与锚标记
- mysql - 在 Unix 服务器上迁移后更新查询突然停止工作
- mysql - phpmyadmin 复制变量
- prolog - 在序言中生成诗句的问题
- ant - 使用 ant(build.xml) 将消息发送到 ibm mq
- javascript - 如何在单击添加按钮时复制完整表单(+ 加号)
- python - 重定向输出时使用 pdb