当主Redis发生故障并且从节点被选择为Sentinel-Redis群集中的主节点时,如何确保Redis节点中的数据一致性

时间:2019-11-06 11:00:26

标签: apache-kafka redis-sentinel

我有一个哨兵-redis设置,其中有3个哨兵(法定人数2)和3个redis节点(1个主控2个从属)。我有一个使用JedisSentinelPool的使用者将数据从kafka主题推送到Redis主数据库。主服务器通过使用异步复制自动将数据复制到从节点。

现在可以说,我的使用者已将“ x”偏移数据推入主Redis,而我的主Redis当前正在将“ x-y”偏移推至其从属。如果redis主机死了,即使我的使用者处理了直到偏移“ X”,新选择的主机也会偏移“ x-y”,从而导致数据丢失。

我需要避免这种情况。有人可以帮我这个吗。

预先感谢

我正在尝试将一致的数据写入主节点。这意味着jedisSentinelpool在从站中也复制数据之前不会发送ack。这种方法可以解决我的问题,但是不知道如何实现。

0 个答案:

没有答案