Dmitrii
нафига?
Потому что мне нужен консул коммуницирующий с общим кластером, а не вся сеть которая была бы mesh сетью.
Denis
разумеется. Но причём здесь скорость?
я думал что это основная метрика очередей, поскольку у них функция "бассейна"
Dmitrii
Т.е. с точки зрения консула dc1 должен видеть dc2, dc3 а dc2 только dc1
Dmitrii
давайте начнём с того, что consul cluster — не mesh сеть
Внутри там госсип, который меш. Какая разница?
Dmitrii
Если там не mesh то почему оно себя ведет как mesh?
Vitaliy
потому что ведёт себя как raft кластер
Dmitrii
Хорошо, но raft кластер ведет себя в mesh стиле
Denis
вы путаете
Dmitrii
Каждый хочет знать о каждом
Denis
gossip / mesh это про модель распространения данных
Denis
raft про модель их согласования
Dmitrii
Не претендую на исклюительные знания )
Denis
я Виталию.
Dmitrii
Проблема у меня в том что dc2 хочет сходить в консул который dc3
Dmitrii
Это возможно отключить?
Dmitrii
Нужно этом мне хотя бы потому что топология сети у меня не такая.
Vitaliy
нафига вам вообще consul, если вам не нужен raft?
Dmitrii
😭
Dmitrii
Виталий! Мне нужен raft в пределах dc1-dc2 И dc1-dc3
Vitaliy
ну ок, ладно, терять данные и ронять сервис — это каждый раз весело, и за восстановление после хорошо платят
Vitaliy
между DC никакой кластеризации в consul нет
Dmitrii
Какой смысл в федерезации тогда?
Denis
Какой смысл в федерезации тогда?
какой кейс то изначальный ? может тебе просто 2 кластера консула нужны.
Dmitrii
Ща
Dmitrii
У меня тут тяжелый случай с бизнесом. Очень сложная топология приложений разнесенных по разным точкам мира. Есть "центральное" а есть подчиненные
Denis
если ты хочешь сделать так чтобы в dc1 были все сервисы а в dc2/3 только свои наборы, то от gossip ты никак не избавишься пои идее. но ты можешь сделать acl попытаться на service
Dmitrii
И вот надо шареные параметры и некоторые сервисы хранить
Dmitrii
Сейчас у меня топология сети построена на VPN как раз как я выше описал
Denis
ну вроде это кейс для services acl / keys acl
Denis
и там можно сделат default policy для dc
Denis
но всё равно, госсипы шляться буду и нужно как то заставить их ходить
Dmitrii
Ну вот я вижу оно срёт в сислог и как бы это ноу го
Vitaliy
я думал что это основная метрика очередей, поскольку у них функция "бассейна"
для разных задач — разные метрики. В некоторых случаях важно получить отказоустойчивость очереди без даунтайма, и durability операций. А десятков тысяч элементов в секунду — достаточно.
Dmitrii
Физической связи между dc2 и dc3 быть не должно и не будет никогда
Dmitrii
Как в таком случае заставить госсипы гулять я не представляю
Dmitrii
Связь (параметры шареные, например) проиходит через dc1
Vitaliy
Физической связи между dc2 и dc3 быть не должно и не будет никогда
то есть связи нет, а данные должны шарить, верно?
Dmitrii
Там же у меня центральный MQ кластер
Dmitrii
Все верно. dc1 выступает в роли прокси
Dmitrii
Все кто хотят получить данные по dc3 приложению — должны спросить об этом dc1 и он ответит.
Dmitrii
MQ работает так же. Чтобы насрать в очередь dc3 надо отправить сообщение в exchange dc2, оно улетит в dc1 а dc1 перенаправит в dc3
Dmitrii
При чем с RabbitMQ у меня вообще нет таких проблем, такое настроить там как два пальца
Vitaliy
так и в чём проблема взять реббит?
Dmitrii
Рэббит для чего
Dmitrii
Он у нас для шины сообщений используется.
Dmitrii
Я хотел использовать кластер консула для сервис дискавери и как бэкенд к волту
Dmitrii
Поэтому изначально хотел соеденить в единый консул-кластер
Vitaliy
там госсип очень глубоко прошит, поэтому либо патчить, либо роуты настраивать, либо руками делать репликацию.
Dmitrii
Ясно, буду значит нужные данные как то сам подсасывать из основного кластера
Dmitrii
Интересно, реально ли в dc2/3 в консуле зарегать сервис который будет ходить в консул dc1 и читать оттуда "версию" креденшелов которые мне надо среплецировать. И если изменилось то запускать скрипт перекатки значений
Dmitrii
Поидее же это возможно?
Denis
просто запускаешь на серваках в dc2/3 агентов которые join к dc1 и там делаешь watch на опредленные сервисы\ключи а вот дёргает скрипт
Denis
но честно говоря "странная" схемка )
Dmitrii
Так сам видишь — через консул не среплицировать
Dmitrii
Я бы рад но у меня dc2/3 визически не имею доступа друг к другу
Dmitrii
Ибо там сеть будет шизоидной топлогии тогда
Dmitrii
Так хотя бы все понятно в eu-central-1 идти будет.
Dmitrii
А да сайты у нас это обычные купоны скидочные )) Чтобы внести диссонанс между сложностью доменной модели и архитектурой сервисов )
Denis
ну тогда вариант с агентами в сателитах и вотчами на них которые будут запускать перекачку в "локальный" кластер
Denis
тока непонятно чем те не подходит в таком кейсе любая базка умеющая в слейвы и в которой можно ограничить "репликацию". разве что тем что в них свою модель строить и документировать, а в консуле всё уже описано и драйверки есть
Dmitrii
Ну консул я планировал просто для SD использовать, а Vault его как бекенд умеет.
Pavel
@korotovskii а что у вас между регионами гуляет? какого типа отказоустойчивость?
Pavel
базы данных реплицируются или все реббитом шлется?
Dmitrii
Ребит только переслает PK объектов, их тип, типы событий, источник ивента и назначение
Dmitrii
Дальше приложение само рулит в какой API за какими данными ему идти (по REST API)
Pavel
А рекпликация БД как таковая есть между регионами?
Dmitrii
Проекты совершенно разные. Зачем там быть прямой репликации?
Dmitrii
У них даже схемы баз разные
Pavel
На случай если один регион накроется, чтобы можно было в другой ходить пользователям
Dmitrii
Грубо говоря центральный сайт это CRM для создания купонов и армии редакторов
Dmitrii
Какой из регионов накроется?
Dmitrii
У нас RDS multi AZ
Dmitrii
Денех та дохуя
Pavel
У нас вот us-east последнее время постоянно дохнет
Dmitrii
Что значит дохнет