Основные компоненты архитектуры

  • Producers (Продюсеры): Сервисы, в которых произошло событие (например, Checkout API зафиксировал оплату).
  • Brokers (Брокеры): Инфраструктурный слой для передачи и хранения событий (Kafka, RabbitMQ, NATS).
  • Consumers (Консьюмеры): Сервисы, которые подписываются на события и выполняют свою бизнес-логику.

Хореография (Choreography) — это базовый способ взаимодействия в событийной архитектуре. Здесь нет центрального мозга. Продюсер просто кидает событие в брокер, а консьюмеры сами решают, интересно оно им или нет. Это обеспечивает максимальную слабую связность (Loose Coupling): сервисы могут ничего не знать друг о друге.

О более сложном подходе — Оркестрации (паттерн Mediator), где появляется управляющий всего процесса, мы подробно поговорим в конце модуля.