我们可以使用zookeeper服务将来自客户端的请求重定向到特定的redis节点吗?例如,我有10个redis节点(一个集群),其中每个集群都包含一些缓存数据。因此,我是否可以为zookeeper中的每个节点维护索引范围,以便zookeeper服务知道哪个节点具有哪个索引范围,因此当用户请求x到y范围内的记录时,它会重定向到保留该记录范围的redis节点?
kiayqfof1#
是的,实际上这是两步索引。许多数据库使用两步排序Map0级索引(在您的例子中是zookeeper)包含到1级数据库的范围Map。一级索引(在您的例子中是redis)包含实际数据。蟑螂db、谷歌大表常用但是,如果一致性不是一个硬性要求的话,还有其他的选择,比如使用一致性哈希,它可以避免像dynamo db这样的2级索引。
1条答案
按热度按时间kiayqfof1#
是的,实际上这是两步索引。许多数据库使用两步排序Map
0级索引(在您的例子中是zookeeper)包含到1级数据库的范围Map。
一级索引(在您的例子中是redis)包含实际数据。
蟑螂db、谷歌大表常用
但是,如果一致性不是一个硬性要求的话,还有其他的选择,比如使用一致性哈希,它可以避免像dynamo db这样的2级索引。