Как стать автором
Обновить

Использование Etcd для построения распределенных кластеризуемых приложений

Уровень сложностиСредний
Время на прочтение6 мин
Количество просмотров4.1K
Всего голосов 15: ↑13 и ↓2+13
Комментарии3

Комментарии 3

Возникла мысль, что бы исключить split-brain при чётном количестве участников, можно:
1. в установленный промежуток времени получить случайное число из заданного диапазона;
2. определить за установленное время количество участников (работаем с теми кто успел ответить) и получить от них значения ;
3. определить чётность этого числа, если не чётное то выход;
4. если число участников чётное, то сравнить полученные ранее числа. У кого больше тот получает +1 голос при голосовании;
5. если возникла коллизия и числа равны, то повторить п. 1-4
6. Повторить условно каждые 30 секунд.

А чем инжектите конфигурацию в простые "тупые" приложения только с текстовым конфигом, например nginx? Через confd? В нем последний осмысленный коммит был пару лет назад, а предпоследний 6 лет назад... Перспективы мягко говоря туманны.
Раньше пока consul не стал проприетарью, была отличная связка: consul + consul-template. Я для себя до сих пор не нашел сравнимой по функционалу открытой альтернативы.
У вас нет решения для этого?

Решал когда-то задачу с сервером конфигов и клентами(nginx, mysql, etc) через Spring Cloud Config Server + Eureka и самописанный java-клиент к нему, что бы слушать нотификации о новом конфиге и выполнял его копирование копирование и nginx -s reload

Зарегистрируйтесь на Хабре, чтобы оставить комментарий