TGStat
TGStat
Введите текст для поиска
Расширенный поиск каналов
  • flag Russian
    Язык сайта
    flag Russian flag English flag Uzbek
  • Вход на сайт
  • Каталог
    Каталог каналов и чатов Региональные подборки Тематические подборки Платные каналы Поиск каналов
    Добавить канал/чат
  • Рейтинги
    Рейтинг каналов Рейтинг чатов Рейтинг публикаций
    Рейтинги брендов и персон
  • Аналитика
  • Поиск по публикациям
  • Мониторинг Telegram
  • Продвижение
    Реклама через Яндекс Бизнес Реклама в каналах через TGStat Agency Реклама на сайте TGStat.ru
Системный аналитик в финтехе/Orlova courses

9 Feb, 13:13

Открыть в Telegram Поделиться Пожаловаться

Всем привет! Я в отпуске. 
Если интересно, могу рассказать про отпуск подробнее. 
Все же каждый отпуск я планирую сама, без турпутевок. 

Но решила всё-таки закрыть серию постов про 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. А если вам есть, чем тоже поделиться на эту тему, жду в комментариях.

Полезно- ❤️

2.6k 2 36 8 38
Каталог
Каталог каналов и чатов Подборки каналов Поиск каналов Добавить канал/чат
Рейтинги
Рейтинг каналов Telegram Рейтинг чатов Telegram Рейтинг публикаций Рейтинги брендов и персон
API
API статистики API поиска публикаций API Callback
Наши каналы
@TGStat @TGStat_Chat @telepulse @TGStatAPI
Почитать
Академия TGStat Исследование Telegram 2019 Исследование Telegram 2021 Исследование Telegram 2023
Контакты
Справочный центр Поддержка Почта Вакансии
Всякая всячина
Пользовательское соглашение Политика конфиденциальности Публичная оферта
Наши боты
@TGStat_Bot @SearcheeBot @TGAlertsBot @tg_analytics_bot @TGStatChatBot