Обновить

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

Только два варианта архитектуры предлагает автор книги... Даже советовать литературу не хочется, ИИ победил.

Давайте будем честны, человек не разбирается и сказал об этом сразу и несколько раз. И логично чуда не произошло — статья мелковата, пустовата, неполновата и т.д. Но нужно ли оно было? Какому-нибудь менеджеру может и пригодится ведь в таком виде...

подброшу аффтору пару мыслишек :

не существует монолита и микросервисов. как "архитектур".

есть компонентно-ориентированная архитектура и антипаттерн "связи все ко всем" .

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

а понимание компонентно-ориентированной архитектуры позволяет оставаясь даже в концепции "монолитной сборки и дистрибуции" достигать всех "преимуществ приписываемых якобы-только микросервисам" - распределенные независимые команды, отказоустойчивость, незаметное развертывание новых фич и пр.

В противопоставлении монолита и микросервиса, мне всегда очень нравятся эти тезисы:

  1. В монолите отказ одного модуля часто означает остановку всей системы.

  2. Микросервисы обеспечивают изоляцию сбоев — если один сервис недоступен, остальные продолжают работать.

Они вызывают вопросы:

  1. Что нужно сделать такого, чтобы сбой в работе одного из модулей привёл к полной не работоспособности всего монолита?

  2. Корректно ли считать недоступность одного из сервисов (модулей в случае монолита), нормальной/допустимой работой системы?

Предположим, в проекте отзовиков сломалась подсистема отвечающая за публикацию отзывов. Проект доступен, отзывы доступны, а опубликовать отзыв нельзя. Можно ли считать проект работающим, с точки зрения бизнеса? Не думаю.

Предположим, в интернет магазине сломалась подсистема приёма платежей. Можно смотреть товары, читать отзывы, добавлять товары в корзину, но купить ничего нельзя. Можно ли считать проект работающим, с точки зрения бизнеса? Не думаю.

Предположим, в CRM сломалась авторизация. Все функции системы работают исправно, но пользователи не могут ими воспользоваться потому, что не могут авторизация. Можно ли считать проект работающим, с точки зрения бизнеса? Не думаю.

хотите раскрою секрет? просто все адепты микросервисов слепо считают антипаттерн "связи многие ко многим" автоматически приравненным к монолиту.

впрочем это не мешает им следующим шагом рассуждать о том, "как плохо делать распределенный/микросервисный монолит", в котором микросервисы организованы так, что сбой/изменение одного модуля, приводит к сбою / необходимости обновления всей системы.

вот не складывается у них, не складывается, что не в микросервисах дело, не в способе сборки и упаковки компонент системы...

тупят, как Алиса Яндексовская в той истории про "самую длинную реку в мире".

Монолит: MVP, маленькая команда? О_о Вы когда нибудь видел как разворачивается инстанс того же шерпоинт, например, или SAP? Или другой тяжелый интерпрайс?

Согласен, что для обновления монолитных платформ частенька нужна некоторая сноровка и подготовка и на CI/CD их поставить проблема, хотя решаемо с костылями в процессах, хотя много раз видел, как костыли в процессах объявлялись практикой, когда лучше вариант придумать не получается.

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

Публикации