Aleksey
ибо вдруг внезапно появляется сервисдискавери
yopp
ибо вдруг внезапно появляется сервисдискавери
а не надо делать то, чего сейчас не надо делать
yopp
когда ВНЕЗАПНО появится, тогда и переделаешь на discovery
Aleksey
сам по себе сервисдискавери уже добавляет факт того что оно немног оненативно для привычных монилитов
yopp
предварительная оптимизация — корень всех проблем
Aleksey
получается что в приложение вдруг появляется кусок кода по чтению сервисдискавери
yopp
и?
Aleksey
или даже вдруг внезапно сессионность в нем
Aleksey
и это приводит к тому что преиложение все еще можно запустить без докера
Aleksey
но уже сложнее
yopp
ты сейчас не совсем о той проблеме
Aleksey
каждая следующая итерация действий в докере приводит к большей заточке на докер
yopp
если у тебя докер единственное окружение, понятно что приложение будет постепенно к докеру прибиваться. это неизбежно
Aleksey
и внезапно в какой то момент получается что приложение запустит ьбез докера уже абзац как не просто.
yopp
я тут про другую проблему: тут в чяте решили что тянуть бизнес-логику из приложения в докер это охуительная идея.
Aleksey
эта как ?
Aleksey
простите я вас не с самого начала читаю
yopp
Что мол докер должен там что-то знать про то что хочет приложение, шедулить там какие-то фоновые задачи и ещё что-то
yopp
Или что можно сделать контейнер с кроном, который будет запускать другие контейнеры
Aleksey
ахуительная идея.
Aleksey
с удовольствием посмотрю на шедулинг на кроне
Aleksey
я тут про другую проблему: тут в чяте решили что тянуть бизнес-логику из приложения в докер это охуительная идея.
да ничего не решили - человек описал свой юэкейс с кроном, но не описал что именно в этом кроне он гоняет
Aleksey
у меня как раз есть кукуруза
yopp
да ничего не решили - человек описал свой юэкейс с кроном, но не описал что именно в этом кроне он гоняет
когда у нас возникла задача обрабатывать фоновые задачи, мы просто сделали свой шедулер на уровне приложения и сделали отдельный entrypoint который запускает этот шедулер
Aleksey
крон это пиздато в односерверной среде.
yopp
со всеми проверками
Aleksey
но уже очень так себе когда микросервисы
Aleksey
там крон надо менять на слово таймеры
yopp
там крон надо менять на слово таймеры
на слово «уровень приложения»
Aleksey
не факт :)
Aleksey
я приводил пример же :)
Aleksey
после вынесли в единое место
Aleksey
и забыли про крон вообще
Aleksey
и не говори что это плохо
yopp
вот так
так это и есть уровень приложения!
Aleksey
ну не совсем :)
yopp
с позиции докера — именно он и есть
Aleksey
да
Aleksey
не поспоришь
Aleksey
но внезапно докер становится шедулером :)
yopp
я тоже так раньше думал, пока появление двух одинаковыф кронов не привело к прблемам
я не знаю что ты думал. у нас была задача: не допустить запуска двух фоновых сервисов определённых типов одновременно. Мы сделали систему локов на уровен приложения и у нас невозможно запустить два сервиса определённого типа одновременно.
yopp
и докер тут вообще нипричём
Aleksey
лок можно было бы сделать в сервисдискавери
Aleksey
или на базе данных
yopp
или на базе данных
он в ней и есть
yopp
это не очень важно как мы сделали лок
yopp
сам факт что мы его сделали на уровне приложения, потому что это не докера забота, а приложения
Vitalii
крон в отдельном контейнере это норм тема, да?
Aleksey
ну просто запуск "двух фоновых сервисов определённых типов" это задача таки не приложения
Aleksey
это инфрастратуктура
yopp
крон это вообще хуёвая тема в докере
yopp
это инфрастратуктура
нет, это ограничение приложения
Aleksey
нет, это ограничение приложения
не забывай так же может быть что у тя так делается резервирование
Aleksey
механизм будет тот же
Aleksey
ну или очень похожий
yopp
тут очень тонкий и спорный лёд: где заканчивается приложение и начинается инфраструктура. И кто о чём должен знать
Aleksey
крон в отдельном контейнере это норм тема, да?
нормальная тема какя выше написал. хотя выглядит пионерством да
yopp
на мой взгляд резервирование — инфраструктурная задача
yopp
приложение тут вообще хуем не пришито
Aleksey
ну да. да. согласен скользкая тема
yopp
т.е. приложению должно быть совершенно безразлично _почему_ его запустили
yopp
на любом уровне
Vladimir
так почему нельзя юзать инфраструктурные шедулеры?
Aleksey
почему нельзя ?
yopp
так почему нельзя юзать инфраструктурные шедулеры?
потому что у тебя нарушается изоляция и бизнес логика начинает течь в инфраструктуру
Vladimir
ну тут обсасывание каких то странных идей идёт
yopp
если мы говорим о кейсе «Мне надо раз в 5 минут пересчитывать отчёты»
Vladimir
какая изоляция, микросервисы ж
An7on
дак если 50 штук таких отчетов
Aleksey
так почему нельзя юзать инфраструктурные шедулеры?
Можно и нужно, если это централизованное решение. Если нет - вылазят другой ряд проблем
Vladimir
ну добавляешь таску в хронос
An7on
я при добавлении нового сервиса должен лезть в каждый и менять конфиги по твоей логике
yopp
какая изоляция, микросервисы ж
микросервисы это чёрные ящики которые обмениваются сообщениями
An7on
"на уровне приложения"
Vladimir
он тебе поднимает по расписанию контейнер и заставляет его работать