TGViewer
Системный аналитик в финтехе | Ирина Орлова Системный аналитик в финтехе | Ирина Орлова @virafintex · 2.6K subscribers
Post #240 2.59K
Всем привет! Я в отпуске. 
Если интересно, могу рассказать про отпуск подробнее. 
Все же каждый отпуск я планирую сама, без турпутевок. 

Но решила всё-таки закрыть серию постов про Apache Kafka. 
Давайте рассмотрим вопрос: 
«А есть ли разница между ESB и Apache Kafka?» 

Начнём.

Форматы данных 
Какие данные и в каком формате поступают в ESB / Kafka? 
Это могут быть XML, JSON и пр. Форматы разные. 
Данные поступают, потом данные выходят, и при этом они могут быть уже в другом формате. 
Например, зашёл XML — вышел JSON. 
То есть на этом уровне, на первый взгляд, какой-то принципиальной разницы нет.

Хранение данных 
Данные поступают, но записываются ли они в базу? 
Тут уже интереснее. 
У ESB нет своей базы данных как источника данных. 
У Apache Kafka тоже вроде как нет базы данных в классическом понимании, но Apache Kafka хранит логи сообщений. 
При этом и в ESB тоже логируются вызовы, есть хранение сообщений для повторной доставки, ошибок и ретраев. 
На поверхностном уровне может показаться, что и здесь разница не такая уж большая.

Маршрутизация 
Данные поступили от систем-производителей, и их получают системы-потребители. 
У Apache Kafka есть группы потребителей, которым отправляются данные. 
У ESB — свои потребители, которым данные маршрутизируются по правилам. 
И опять же, если смотреть очень обобщённо, кажется, что разницы особо нет. 


На самом деле всё гораздо сложнее. 
У Apache Kafka есть: 
• топики, 
• партиции, 
• у каждого сообщения есть свой офсет, 
• офсеты коммитятся, 
• есть разные варианты доставки: at least once, at most once, exactly once, 
• и ещё много важных моментов, которые напрямую влияют на архитектуру системы. 

ESB же в отличие от Kafka умеет: 
• управлять последовательностью вызовов, 
• вызывать несколько систем по сценарию, 
• делать условные переходы (if / else), 
• реализовывать саги и компенсации на уровне интеграции. 

ESB — это orchestration-driven архитектура. 
Kafka — это event-driven архитектура.

Вот так быстро накидала мысли про разницу между ESB и Apache Kafka. А если вам есть, чем тоже поделиться на эту тему, жду в комментариях.

Полезно- ❤️
  • ❤ 30
  • ✍ 5
  • 🔥 3
More from @virafintex
  1. Oct 13, 2026​​🎙 Новый спикер AM18 · AI-Powered BA/SA Ирина Орлова — главный системный аналитик ПСБ Ба…
  2. Oct 13, 2026Всем привет! Скоро будет AI конференция. На которой я буду выступать.
  3. Oct 12, 2026Post #370
  4. Oct 8, 2026Websocket как свадьба Люди встречаются, влюбляются, женятся, взаимодействуют и интегрируют…
  5. Oct 6, 2026Навигация 3 Полезное и нетолько 1. Про Apache Flink и Apache Spark Streaming 2. Книга по S…
  6. Oct 1, 2026Что должно быть в вашем резюме, чтобы его заметили? Сейчас просто написать, что ты собирал…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →