Описание: архитектура, где все коммуникации между сервисами происходят через события, с централизованным управлением маршрутизацией, трансформацией и доставкой событий через «сетку» (mesh).
Ключевые компоненты:
- Event Mesh: слой инфраструктуры для маршрутизации событий
- Event Gateway: точка входа для событий из внешних систем
- Service Mesh интеграция: Istio, Linkerd для service-to-service коммуникаций
- Schema Registry: централизованное управление контрактами событий
Область применения:
- сложные event-driven экосистемы (50+ микросервисов)
- реальные гибридные и multi-cloud среды
- системы с требованиями к гарантированной доставке событий
- миграция legacy систем в event-driven архитектуру
Архитектурные принципы:
- Loose Coupling: Сервисы ничего не знают друг о друге
- Event First Design: События как first-class граждане
- Resilient Delivery: Гарантированная доставка с retry и dead-letter queues
- Schema Evolution: Совместимость версий схем событий
Оценки:
- масштабируемость: ⭐⭐⭐⭐⭐ (5/5) — Горизонтальное масштабирование событий
- надежность: ⭐⭐⭐⭐⭐ (5/5) — Гарантированная доставка, компенсирующие транзакции
- сопровождение: ⭐⭐⭐ (3/5) — Сложность трассировки распределенных транзакций
- гибкость: ⭐⭐⭐⭐⭐ (5/5) — Легкое добавление новых потребителей
- стоимость: ⭐⭐⭐ (3/5) — Высокие затраты на инфраструктуру и экспертизу
Реализации Event Mesh:
Коммерческие: Solace PubSub+, TIBCO Event Mesh Open Source: Apache Kafka + Schema Registry + Proxy Cloud Native: AWS EventBridge, Google Eventarc
Паттерны Event Mesh:
- Event Carrying State Transfer: События несут достаточно данных для обработки
- Event Sourcing Integration: Постоянное хранилище событий + real-time processing
- CQRS через события: Read модели обновляются через подписку на события
- Saga Orchestration: Управление распределенными транзакциями через события
Преимущества перед традиционным Event-driven:
- единая точка управления событиями
- сквозная видимость потоков событий
- централизованная безопасность и политики
- multi-protocol поддержка (MQTT, AMQP, Kafka, REST)