Оригинал
Разбор в Telegram
Оригинальный пост с обзором книги в канале Book Cube.
Enterprise Integration Patterns: Designing, Building, and Deploying Messaging Solutions
Авторы: Gregor Hohpe, Bobby Woolf
Издательство: Addison-Wesley, 2003
Объём: 736 страниц
Классика интеграции: File Transfer, Shared DB, RPC, Messaging. Каналы, маршрутизация, трансформация сообщений.
ОригиналСтили интеграции приложений
Во второй главе авторы дают отличный обзор четырёх основных стилей интеграции, анализируя плюсы и минусы каждого подхода:
File Transfer
Передача данных через файлы — простой, но медленный подход.
Shared Database
Общая база данных для всех приложений.
Remote Procedure Invocation
Удалённый вызов процедур (RPC, REST, gRPC).
Messaging
Обмен сообщениями — выбор авторов книги.
Структура книги: Паттерны обмена сообщениями
Авторы детально рассматривают паттерны для каждой составной части системы обмена сообщениями:
Messaging Channels
Каналы для передачи сообщений между системами.
- Point-to-Point Channel
- Publish-Subscribe Channel
- Dead Letter Channel
- Guaranteed Delivery
Message Construction
Структура и типы сообщений.
- Command Message
- Document Message
- Event Message
- Request-Reply
Message Routing
Маршрутизация сообщений между получателями.
- Content-Based Router
- Message Filter
- Splitter / Aggregator
- Routing Slip
Message Transformation
Преобразование формата и структуры сообщений.
- Envelope Wrapper
- Content Enricher
- Content Filter
- Canonical Data Model
Messaging Endpoints
Конечные точки — компоненты, соединяющие приложения с системой обмена сообщениями.
- Messaging Gateway
- Transactional Client
- Polling Consumer
- Event-Driven Consumer
- Competing Consumers
- Message Dispatcher
Практикумы и управление системой
3 практикума
Книга включает практические примеры создания несложных систем с использованием рассмотренных паттернов.
Глава 13: Реальный кейс
Изюминка книги — детальный разбор проектирования реальной системы торговли облигациями.
Вопросы управления системой
Отдельная глава посвящена тестированию и отладке messaging-систем — критически важным аспектам, которые часто упускаются при проектировании.
Применение к System Design Interview
Когда использовать паттерны EIP
- Проектирование event-driven архитектуры
- Интеграция микросервисов через очереди
- Асинхронная обработка заказов, платежей
- Notification systems, real-time updates
Ключевые паттерны для интервью
- Pub/Sub для fan-out сценариев
- Dead Letter Queue для error handling
- Competing Consumers для scaling
- Saga для distributed transactions
Рекомендация: Несмотря на возраст книги, паттерны EIP лежат в основе современных решений: Kafka, RabbitMQ, AWS SQS/SNS, Azure Service Bus. Знание этих паттернов критично для проектирования масштабируемых асинхронных систем на интервью.
