172 похожих чатов

Всем привет! У меня есть проект, который хостуется на одной

впске (и субд на отдельном, если это важно). И есть задача сделать bluegreen deployment.
До сих пор окружение было развернуто без контейнеров, и я решал эту задачу через подмену ссылки на директорию с текущей версией проекта.
Сейчас начал переносить проект в контейнеры, и столкнулся с вопросом, как мне реализовать обновления с нулевым даунтаймом?

Я нагуглил, что swarm отлично решает эту задачу. Но у меня возникло несколько вопросов

Не много ли ресурсов жрет эта технология? Сервер сейчас скромный, 4 ядра, 4 оперативки. Хватит ли места и приложению, и демону оркестрации?
Надежна ли в принципе технология для продакшна? Начитался много отзывов как за, так и против, одни утверждают, что годами всё живет стабильно, вторые кричат, что это чуть ли не самая дьявольская технология

Ну и вопрос, который наверное стоило задать первым - нет ли более простых альтернатив для решения подобной задачи? Меня немного смущает, что для одного слабенького сервера надо разворачивать целый оркестратор :)

13 ответов

1 просмотр

с нулевым дайнтаймом хз, но с минимальным мы через nginx как реверс прокси делаем

Watch-This Автор вопроса
Yura
с нулевым дайнтаймом хз, но с минимальным мы через...

Можно где-то подробнее почитать про этот вариант?

юзаешь swarm прописываешь кол-во реплик для инстанции и при обновлении они по очереди отключаются и обновляются

Watch-This Автор вопроса
Oleg B
юзаешь swarm прописываешь кол-во реплик для инстан...

Общий принцип я понял, спасибо. У меня больше вопрос к тому, подойдет ли моё слабое железо под эту технологию. И теперь ещё вопрос, почему его советуют не использовать)

Watch This
Общий принцип я понял, спасибо. У меня больше вопр...

все зависит от того сколько кушает ресурсов проект, придется считать самому, никто не поможет в этом

Watch This
Можно где-то подробнее почитать про этот вариант?

хм, не знаю, мы сами придумали. Схема такая - есть контейнер с текущей версий app_container, когда запускается деплой, то создается контейнер с новой версией кода app_container_new. Потом скрипт меняет конфиг nginx-а, что бы тот смотрел на новый контейнер, старый контейнер удаляется, новый переименовыватся в app_container

Oleg B
*facepalm

а что не так?

Watch-This Автор вопроса
Yura
хм, не знаю, мы сами придумали. Схема такая - есть...

Спасибо, я думал над подобным, пока не узнал, что существует сворм. После этого мне показалось, что он делает то же самое, только умеет в healthcheck и плавное обновление нод. Ну и свой скрипт писать не надо над всем этим делом 🧐

Yura
а что не так?

усложнение системы и велосипедизация

Oleg B
усложнение системы и велосипедизация

а как лучше? Не отрицаю что это может быть плохой подход, но работает плавно и прозрачно

Yura
а как лучше? Не отрицаю что это может быть плохой ...

сворм режим минимум 2 реплики и при обновлении он сам будет их по очереди подменять

Oleg B
сворм режим минимум 2 реплики и при обновлении он ...

ну использовать оркестратор это само собой, но в нашем случае особой нужды в оркестраторе не было.

Похожие вопросы

Обсуждают сегодня

Сообщение* в закодированном виде. То есть, просто сделать sendMessage?text=Привет бла-бла! не получится, надо в HEX переводить, и добавлять процент, типа такого: sendMessage?t...
КТ315
21
А случайно нет ли в паскале штатной возможности передать указатель и количество туда где array of в качестве аргумента?
zamtmn
25
всем трям! Кто-нибудь работал со связкой werf + harbor + trivy ? Во время сборки образа выходит ошибка "PROJECTPOLICYVIOLATION: current image with "Pending" status of vulnerab...
Авессалом
11
> комьюнити я бы не судил по этому чату. Как мы видели по статам просмотров нескольких телеговских постов, то в чате их набивается 30-40 или даже выше, когда как общаются акти...
Constantin F.
4
Anyone here suffers from unexplained aural migraines, who would be up for talking for a bit? Doesn't *have* to be aural, but I am not asking about headaches, I mean actual mi...
Martin Rys
58
Как сделать чтобы short точно был 2 байта, int точно 4 байта ?(без стандартных библиотек, ну типа без int16_t, int32_t)
#
8
Всем привет. Испытываю проблемы в работе БД, а именно огромного роста логов, такого характера: 024-05-16 18:39:07 +05 sentry sentry [unknown] 1050169 7-1 app-sentry01.corp.ru>...
Alexey
2
Ну раз я пока тут, задам пару глупых вопросов. Зачем писать на ассемблере если компилятор довольно умный, а ассемблер много времени занимает? В каких прикладных задачах сейчас...
Максим Рябцев
20
Только такой if ($modx->event->name == 'OnBeforeCartItemAdding') { $meta = $params['item']['meta']; $lang = $modx->getConfig('_lang'); // проверяем, задана ли опция i...
Multi Web
1
Хм. А телеграм апи работают через HTTP?
The Bird of Hermes
14
Карта сайта