синхронизировать данные в конфигурации Redis с несколькими мастерами

Я новичок в Redis, и мне было интересно, может ли кто-нибудь помочь мне понять, может ли это быть правильным инструментом. Это мой сценарий:

У меня есть много разных узлов, каждый из которых ведет себя как мастер и принимает подключения клиентов для чтения и записи нескольких географических данных и временной метки входящей записи. Каждый главный узел может быть размещен на беспилотнике, который только случайным образом выходит на связь и может общаться с другими в соответствии с условиями сети; когда это происходит, они должны синхронизировать свои данные в соответствии со своим возрастом (только те, которые старше указанного времени).

Есть ли способ добиться этого с помощью Redis или мне нужно реализовать эту функцию на уровне приложения? Я безуспешно пробовал конфигурацию master/slaves, и мне было интересно, сможет ли Redis Cluster удовлетворить мои потребности.

Я гуглил, но то, что я нашел, не было подходящим для меня ответом

https://serverfault.com/questions/717406/redis-multi-master-replication

Использование репликации Redis на разных машинах (мульти-мастер)


person teo    schedule 25.01.2016    source источник


Ответы (1)


Тео, на самом деле у Redis нет репликации с несколькими мастерами.

И осколок кластера — это данные через разные экземпляры. Скажем, у вас есть только два экземпляра Redis. Экземпляр 1 примет сохранение и извлечение данных экземпляров 1 и 2. Но он запросит и сохранит в instance2 каждый ключ, не принадлежащий его осколку.

Это, я думаю, не совсем то, что вы хотите. Вы можете попробовать PostgreSQL+BDR, так как PostgreSQL поддерживает хранилище nosql, а BDR обеспечивает настоящую мастер-репликацию (https://wiki.postgresql.org/wiki/BDR_Project), если это действительно то, что вам нужно.

Сегодня я работаю с обоими (а также с MongoDB). Каждый с другой целью. Redis обеспечит меньшие накладные расходы и использование памяти, быстрое соединение и быструю репликацию. Но он не предоставит мультимастер (если вам это действительно нужно).

person otaviofcs    schedule 30.01.2016
comment
Спасибо @otaviofcs, никогда не слышал о проекте BDR, посмотрю. - person teo; 01.02.2016