[ Митап 17 ]
[ Взаимодействие между микросервисами: REST и message broker ]
[ МИТАП ПРОШЕЛ 14 АПРЕЛЯ ]
На 17-ом онлайн митапе Software Craftsmanship мы рассмотрели какие бывают типы микросервисных архитектур (распределенный монолит, слои микросервисов, feature-based микросервисы) и как именно микросервисы взаимодействуют друг с другом в рамках того или иного типа.
Взаимодействие между микросервисами можно разделить на 2 основных подхода: синхронной и асинхронный. Каждый подход несет определенные риски для целостности данных бизнеса
[ НА МИТАПЕ МЫ: ]
1
Разобрали шаблоны, которые помогают сохранить целостность данных: transactional outbox, saga (оркестрация и хореография), event sourcing и другие;
2
Определили, почему микросервисы должны быть идемпотентными, и почему важно поддерживать жесткие контракты между микросервисами;
3
Определи, в каких случаях стоит делать stateless или statefull микросервисы.
[ ПЛАН МИТАПА ]
Типы микросервисных архитектур
  • Распределенный монолит;
  • Слои микросервисов;
  • Feature-based микросервисы;
  • stateless/statefull микросервисы;
  • Design to fail подход;
  • Эволюционное проектирование.
Способы взаимодействия между микросервисами
  • Риски синхронных подходов;
  • Риски асинхронных подходов;
  • Шаблон transactional outbox;
  • Идемпотентность микросервисов.
Шаблон сага
  • Оркестрация и сохранение состояния flow;
  • Хореография;
  • Компенсирующие транзакции.
Подход event sourcing, использование CQRS
Организация команды разработки
  • Закон Конвея;
  • Коммуникации в командах разработки.
[ ВЕДУЩИЙ ]
Павел Вейник
CEO в Hard & Soft Skills
разработчик с 2003 г. Работал в таких белорусских компаниях, как EPAM, Itransition, WorkFusion, однако предпочитает небольшие стартапы. Специализации - прикладная лингвистика и highload системы.
Опыт на менедженских и архитекторских ролях позволяет видеть проблемы с разных точек зрения. Ведет тренинги для компаний с 2011г.
17-й Митап проводился при поддержке компании SaM Solutions
[ Инфопартнеры ]