Комментарии 17
НЛО прилетело и опубликовало эту надпись здесь
На самом деле эта проблема давно известна (лет 10 как описана). Скажем, в OSGI всегда можно было одновременно деплоить сколько угодно версий одного бандла, так что проблема комбинаторного взрыва числа сочетаний версий при исполнении тоже имела место. Хорошего решения лично я не знаю.
+3
Спасибо за комментарий! Да, я постарался дать историю вопроса, но очень коротко. Основное изменение во время микросервисов — переход проблемы со стадии разработки на стадию интеграции (описано в самом конце статьи).
0
Да, именно так. Т.е. на стадии деплоя приходится решать, что у нас в наличии, можем ли мы с этим работать, какой набор версий совместим, и т.п. То что я пытался делать сам — это почти прямой перенос решений для стадии компиляции (это был конкретно maven) на стадию деплоя, потому что они в общем-то похожи.
+1
Что-то я не понял, зачем вы вообще перебираете все вариации?
У вас должна быть одна вариация — последние версии всех сервисов, всё, конец. Нет никакого смысла перебирать все возможные комбинации и кричать, что это плохо.
С таким же успехом можно перебрать все версии пакетов в npm и получить гугол, но смысл?
У вас должна быть одна вариация — последние версии всех сервисов, всё, конец. Нет никакого смысла перебирать все возможные комбинации и кричать, что это плохо.
С таким же успехом можно перебрать все версии пакетов в npm и получить гугол, но смысл?
+2
Спасибо за комментарий! Ответил на похожий комментарий выше — habr.com/ru/post/494340/#comment_21432526
-1
ИМХО у любого софта есть только одна версия — последняя. Все остальные должны умирать как можно быстрее.
-2
Спасибо за комментарий!
-1
Так бывает только если это разработка для себя. Если вы делаете для заказчиков (многих) — у них может быть любой зоопарк.
+2
Если при этом сохраняется обратная совместимость — то ради бога. Но в реальности бывает необходимость сделать новую версию (мажорную), в которой будет выпилена часть старого неудачно спроектированного функионала
0
НЛО прилетело и опубликовало эту надпись здесь
Спасибо за комментарий!
-2
Рынок решает.
Многие хотят чтобы было просто, но почему-то никто не готов это оплачивать.
Обратная совместимость удвоит стоимость поддержки сервиса, а со временем будет оттягивать на себя ещё больше ресурсов.
Если разложить это на тех клиентов, кто готов за это платить (а таких мало), то для них цена услуги вырастет не вдвое, а вдесятеро, так что на деле они тоже не станут за это платить.
Как итог — никто за это платить не хочет.
Нет спроса — нет и предложения. Всё просто.
+1
Неплохой подход к решению этой проблемы был предложен в докладе Николая Алименкова
Modern CI/CD in the microservices world with Kubernetes
Modern CI/CD in the microservices world with Kubernetes
+1
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Микросервисы — комбинаторный взрыв версий