Ответ
Enterprise Service Bus (ESB) — это архитектурный паттерн для интеграции приложений через единую шину. ESB обеспечивает маршрутизацию, трансформацию данных, оркестрацию сервисов и управление сообщениями между системами.
Ключевые функции ESB:
- Маршрутизация — направление сообщений между сервисами.
- Трансформация — конвертация форматов (XML → JSON).
- Медиация — адаптация протоколов (SOAP → REST).
- Обеспечение надежности — гарантированная доставка, retry-логика.
Пример (Apache Camel):
from("jms:queue:orders")
.transform().jsonpath("$.orderId")
.to("http://inventory-service/checkStock");
Плюсы:
- Централизованное управление интеграцией.
- Гибкость при добавлении новых сервисов.
Минусы:
- Риск создания "монолитной шины".
- Сложность масштабирования при высокой нагрузке.
ESB подходит для сложных корпоративных сред, но в микросервисных архитектурах часто заменяется на более легковесные решения (API Gateway, Service Mesh).