How's that again?

Проблемы бэкэндов крупных проектов:

  • много функциональности
  • много кода
  • много людей

Микросервисная архитектура как решение:

  • инкапсуляция: API как единственная точка входа
  • принцип единственной ответственности
  • скорость разработки

Основные паттерны MA:

  • Database per service
  • Service Discovery - client vs server
  • API Gateway/Backend for Frontend: обычно делается асинхронным, собирает параллельно ответы от нескольких сервисов. Уменьшает задержки засчет того, что внутри нашей сети задержки меньше, чем от клиента до сети. Позволяет не перереализовывать повторяющуюся логику в разных клиентах.

Требования МА:

  • качество инфраструктуры: CI, CD, мониторинг
  • порог вхождения разработчика. Нужно более тщательно проектировать API, так как менять потом будет нельзя. Нужно заранее думать о том, какие ресурсы понадобятся для предлагаемого решения.
  • документация