gpt4 book ai didi

Redis Cluster vs Twemproxy - 移动响应

转载 作者:可可西里 更新时间:2023-11-01 11:14:55 25 4
gpt4 key购买 nike

我想将 Redis 用于特定用例。我不确定要使用 Redis 集群还是使用 Twemproxy + Sentinel。

我知道 Cluster 随时都是赢家。由于移动响应,我只是持怀疑态度。在 MOVED 响应的情况下,客户端将连接另一个节点,在重新分片的情况下,它可能必须再次连接另一个节点。但在 Twem 的情况下,它知道数据所在的位置,因此它永远不会收到 MOVED 响应。

Twem 有不同的问题,比如增加的跳数,可能会增加整体周转时间,添加新节点的问题,或者如果它弹出一些节点,它将无法为该节点上存在的 key 的请求提供服务.额外的维护头痛,例如,为我的 Redis 实例设置哨兵,并为 twem 本身提供 HA 机制。

谁能建议我,我应该选择 Twem 还是 Cluster?我正在考虑和 Twem 一起去,因为我不会在 MOVED 响应的情况下来回走动。但考虑到上述问题,我对此持怀疑态度。

附言我打算为 Redis 使用 Jedis 客户端(如果有帮助的话)。

最佳答案

首先,我对Twemproxy不是很熟悉,所以我只说一下大家关心的Redis Cluster。

Redis 客户端可以从Redis Cluster 得到完整的slot-node 映射,即key 的位置。它可以在客户端缓存映射,并将请求发送到正确的节点。所以大多数时候,它不会被重定向,即得到 MOVED 消息。

但是,如果您添加/删除节点或重新分片数据集,客户端将收到MOVED 消息,因为它仍然使用旧映射。在这种情况下,客户端可以更新其本地缓存,并且任何后续请求都将发送到正确的节点,即不再有 MOVED 消息。

一个像样的客户端库可以通过上述优化来提高效率。因此,如果您的客户端库具有此优化,则无需担心 MOVED 惩罚。

关于Redis Cluster vs Twemproxy - 移动响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53097923/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com