Избранное из глав "птицы".

Глава 2. Разделение компонентов.

Архитектурный квант - условно сервис, который деплоится отдельно. Хотя несколько сервисов вполне могут представлять собой один квант, и часто это делают:

Например: общая база данных => у вас один архитектурный квант общий ui => у вас тоже один архитектурный квант ) есть оркестратор запросов => мб у вас тоже один квант ))

Динамический coupling между квантами

3 "силы", которые формируют пространство для принятия решений:

  • взаимодействие между квантами - синхронное (вызывающий ждёт, чтобы продожить) или асинхронное (не ждёт)
  • согласованность - атомарные транзакции или приемлемо eventual consistency
  • координация - оркестратор (есть сервис, к-й отвечает за координацию) или хореография (нет координатора)

Понравилась табличка с вариантами, особенно horror )

Глава 3

О том, что тестируемость, развёртываемость, масштабируемость, доступность, отказоустойчивость лучше у небольших сервисов. Поэтому если у вас проблемы с финансами, нужно срочно перейти на микросервисы (немного утрированный пример из главы 😁)

Так то это так мб, но возникают другие проблемы, и как будет с той же тестируемостью у системы в целом?

Впрочем, учебные примеры часто бывают немного странными. Допустим, всё же нужно разделиться, посмотрим )

Избранное из глав "птицы".
Глава 2. Разделение компонентов.
Архитектурный квант - условно сервис, который деплоится отдельно | Сетка — социальная сеть от hh.ru