Блокировка, постоянство и HA

В рамках проекта я ищу предложение, которое лучше всего подходит для сценариев ниже.

Мы должны прочитать данные от стороннего поставщика данных, и эти данные должны быть выбраны на основе отметки времени (последнее смещение чтения не поддерживается поставщиком). Чтобы избежать чтения повторяющихся данных, в случае, если несколько серверов работают с одной и той же логикой, нам нужно будет прочитать время до тех пор, пока данные не будут считаны и сохранены в каком-то общем хранилище, два процесса не смогут прочитать временную метку из этого общего хранилища, пока один из процессов, который уже прочитал метку времени, завершил чтение данных. Таким образом, одновременно только один процесс будет получать данные от поставщика данных в любой момент времени. После завершения этого процесса он обновит отметку времени в общем хранилище и снимет блокировку, чтобы другие процессы могли читать новую отметку времени и могли читать данные из этой отметки времени.

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

Я ищу некоторые предложения относительно того, какой фреймворк / инструмент мы должны использовать, чтобы обеспечить нам постоянство / блокировку и перекрестную поддержку DC для метки времени.

Для этой цели мы исследуем опцию, например ZooKeeper/ cache, но, хотя Zookeeper не подходит для синхронизации данных в кеше DC, он не обеспечивает блокировку и постоянство.

Любая помощь в этом направлении высоко ценится.

Спасибо гаурав

0 ответов

Другие вопросы по тегам