Как организовать хранение конфигурации распределенного приложения?

Я размышляю над выбором решения для хранения динамической конфигурации для большого распределенного приложения.
Сейчас у нас самодельное решение которое rsync-ом раскидывает json файлы по нодам и watcher на каждой ноде обновляющий локальные базы и обновляющий конфигурацию процессов если это может быть сделано в рантайме.

Вводные примерно такие:
- 50+ физических нод
- 1000+ контейнеров (docker)
- 3000+ json файлов с конфигурацией
- 10M+ ключей в этих файлах
- 500Mb+ места на диске (json)

Хочется найти надежное KV решение со следующими свойствами:
- eventual consistency
- возможность подписки на изменение ключа или группы ключей по key prefix из приложения
- get ключа должен происходить локально (реплики будут на каждой физической ноде)
- заточен под максимально быстрое чтение (скорость репликации не критична)

Предполагаю посмотреть consul, etcd, zookeeper, couchDB. Если у кого-то есть соображения на эту тему и ценные советы, поделитесь пожалуйста :)
  • Вопрос задан
  • 1514 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы