Что такое ESB

«Что такое ESB» — вопрос из категории Архитектура, который задают на 40% собеседований Системный Аналитик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

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).