Как убедиться в согласованности данных в узлах Redis, когда мастер Redis отключается, и ведомый узел выбирается в качестве мастера в Sentinel-Redis кластере - PullRequest
0 голосов
/ 06 ноября 2019

У меня есть настройка часового-редисса, имеющая 3 сторожа (Кворум 2) и 3 узла редис (1 мастер-2 подчиненных). У меня есть потребитель, который использует JedisSentinelPool для передачи данных из темы kafka в мастер Redis. Мастер автоматически реплицирует данные на подчиненные узлы с помощью асинхронной репликации.

Теперь предположим, что мой потребитель отправил данные смещения «x» в мастер Redis, а мой мастер Redis в настоящее время выдвигает смещение «xy» на его подчиненное устройство. ,Если мастер Redis умрет, у вновь выбранного мастера будет смещение «xy», даже если мой потребитель обработал до смещения «X», что приведет к потере данных.

Мне нужно этого избежать. Может кто-нибудь, пожалуйста, помогите мне с этим.

Заранее спасибо

Я пытаюсь для последовательной записи данных в главный узел. Это означает, что jedisSentinelpool не будет отправлять подтверждение до тех пор, пока данные не будут реплицированы в подчиненные устройства. Этот подход решит мою проблему, но я не знаю, как мне этого добиться.

...