ЧТО ТАКОЕ ИНТЕГРАЦИОННАЯ ШИНА ESB (ENTERPRISE SERVICE BUS)?
В этой статье расскажу о еще одном способе интеграций, который применяют достаточно часто в крупных энтерпрайз проектах.
Что такое ESB шина?
Enterprise Service Bus (ESB) - это технология, которая работает, как посредник и помогает передавать данные между сервисами, которые написаны на разных языках и имеют разные протоколы, такие как HTTP/HTTPS, JMS (Java Message Service), SOAP, MQTT и других.
По факту, это конкретное программное обеспечение, которое устанавливают на сервер, например:
Когда применяют ESB шину?
Когда у вас много сервисов, все они имеют разные протоколы, разные форматы данных, а логика интеграции достаточно сложная.
Представьте, что вы работаете в банке.
У вас огромное количество сервисов, которые написаны на разных языках и использующих разные протоколы взаимодействия.
Чтобы настроить взаимодействия между сервисами чаще всего их пытаются подключить друг к другу напрямую и их взаимодействие выглядит примерно так:
Когда сервисов 5 или 10, то все нормально.
Вы легко можете настроить их взаимодействие, но если их 100 или больше, то тогда вам придется поддерживать большое количество связей, контролировать зависимости и это превратится в какой-то хаос.
Чтобы это полечить и сделать систему более структурной используют ESB шину.
И система начинает выглядит вот так:
Какие плюсы есть у ESB шины?
- Интеграция: позволяет объединить разные программы и системы, что делает их более взаимосвязанными.
- Гибкость: может работать с разными технологиями и легко настраивается под нужды компании.
- Безопасность: помогает защитить данные, обмениваемые между приложениями.
Какие минусы есть у ESB шины?
- Сложность: Для того, чтобы настраивать и управлять ESB нужно изучить работу отдельного приложения и научится с ним работать.
- Зависимость: Если ESB выходит из строя, это может повлиять на работу всех приложений, связанных с ним.
- Затраты: Развертывание и поддержание ESB может быть дорогостоящим, так как многие ESB платные, плюс на их настройку и поддержание необходимо находить специалистов, которые будут с ней работать.
- Легко перегрузить: ESB может стать "узким местом" в инфраструктуре и замедлить обмен данными, если сделать большую нагрузку. Система может не выдержать и зависнуть или замедлиться.
Что можно почитать, чтобы углубиться в работу шины?
https://compress.ru/article.aspx?id=21413
https://habr.com/ru/companies/pnn/articles/191600/
https://coderlessons.com/tutorials/java-tekhnologii/uznaite-mulesoft/mulesoft-kratkoe-rukovodstvo