BI Consult Desktop Logo BI Consult Mobile Logo
  • Russian BI Исследование российских bi
  • Перейти на Fine BI
  • Контакты
  • +7 812 334-08-01
    +7 499 608-13-06
  • Отправить сообщение
  • Главная
  • Продукты Эксперт-BI
    • Дистрибуция
    • Розничная торговля
    • Производство
    • Операторы связи
    • Страхование
    • Банки
    • Лизинг
    • Логистика
    • Нефтегазовый сектор
    • Медицина
    • Сеть ресторанов
    • E-Commerce
    • Сельское хозяйство
    • Энергетика
    • FMCG
    • Девелоперы
    • Маркетплейсы
    • Пищевая промышленность
    • Фармацевтика
    • Построение Data Platform
    • Цифровая трансформация
    • Управление по KPI
    • Финансы
    • Продажи
    • Склад
    • HR
    • Маркетинг
    • Внутренний аудит
    • Категорийный менеджмент
    • S&OP и FP&A
    • Геоаналитика
    • Цепочки поставок (SCM)
    • AutoML
    • Process Mining
    • IBP
    • ИТ (CIO)
    • Закупки
  • Платформы
    • Системы бизнес-анализа (BI)
    • Интегрированное бизнес-планирование (IBP)
    • Хранилища данных (DWH / Lakehouse)
    • Каталоги данных (Data Catalog)
    • Системы ETL и ELT
    • AI / Исскуственный интеллект
    • Шина данных (ESB)
    • Система управления мастер-данными (MDM)
    • Семантический слой
  • Услуги
    • Переход на отечественные BI и DWH системы
    • Консалтинг
    • Пилотный проект
    • Обучение и сертификация
    • Бесплатное обучение
    • Поддержка
    • Технические задания
    • Сбор требований для проекта внедрения BI-системы
    • CI/CD для DWH
    • Аудит BI приложений и DWH
    • Выделенная команда
    • Настойка и поддержка баз данных
    • Разработка BI Стратегии
    • Styleguide для BI-системы
    • Как выбрать BI-систему
  • Курсы
    • Учебный курс Информационная грамотность (Data Literacy)
    • Учебный курс для бизнес-аналитиков
    • Учебный курс для системных аналитиков
    • Учебный курс по Data Governance
    • Учебный курс Как стать CDO
    • Учебный курс Современная архитектура хранилища данных
    • Учебный курс по Fine BI
    • Учебный курс по FineReport
    • Учебный курс по DWH
    • Учебный курс по Data Science (ML, AI)
    • Учебный курс по PostgreSQL
    • Учебный курс по Greenplum
    • Учебный курс по Apache Airflow и NiFi
    • Учебный курс по Open-source BI
    • Учебный курс по ClickHouse
    • Учебный курс по DataLens
    • Учебный курс по Loginom
    • Учебный курс по Modus BI и ETL
    • Учебный курс по Visiology
    • Учебный курс по dbt (Data Build Tool)
  • Компания
    • Руководство
    • Новости
    • Клиенты
    • Карьера
    • Скачать
    • Контакты

Услуги

  • Переход на отечественные BI и DWH системы
  • Консалтинг
    • Проект внедрения российской BI-платформы
  • План обучения и сертификации
  • Бесплатное обучение
  • Пилотный проект
  • Сопровождение и поддержка
  • Технические задания
  • Сбор требований для проекта внедрения BI-системы
  • Аудит BI приложений и DWH
  • Разработка BI Стратегии
  • Styleguide для BI-системы
  • Выделенная команда
  • Как выбрать подходящую современную BI-систему
  • Настойка и поддержка баз данных

Отраслевые решения

  • Дистрибуция
  • Розничная торговля
  • Производство
  • Операторы связи
  • Банки
  • Страхование
  • Фармацевтика
  • Нефтегазовый сектор
  • Лизинг
  • Логистика
  • Медицина
  • Сеть ресторанов
  • Сельское хозяйство и агрохолдинги
  • Энергетика
  • E-Commerce
  • FMCG
  • Пищевая промышленность
  • Селлеры на маркетплейсах
  • Строительные компании и девелоперы

Функциональные решения

  • Управление по KPI
  • Финансы
  • Продажи
  • Склад
  • Категорийный менеджмент
  • HR
  • Маркетинг
  • Внутренний аудит
  • Геоаналитика, аналитика на географической карте
  • Цепочка поставок (SCM)
  • S&OP и FP&A
  • Разработка стратегии цифровой трансформации
  • Process Mining
  • Интегрированное планирование (IBP)
  • Закупки
  • ИТ (CIO)
  • Построение хранилища данных
  • Создание Data Lake и Data Engineering
Главная » Курсы по системам бизнес-анализа и методологии » Учебный курс Современная архитектура хранилища данных » Apache Kafka: что это и как работает

Apache Kafka: что это и как работает

Про Apache Kafka хоть раз слышали почти все опытные разработчики серверных приложений. Им пользуются компании, которые гоняют в своих системах очень большие объемы данных, считается, что простым разработчикам он не нужен.

Давайте посмотрим, что такое Apache Kafka, как он работает и кому пригодится.

 

Нервная система бэкенда: зачем нужен Apache Kafka

Современные серверные приложения сложны, многоярусны и включают множество компонентов и сервисов. Архитекторы программного обеспечения выделяют в отдельные модули все, что можно: рассылку SMS, системы сбора статистики, подсистемы авторизации.

Зачем? Во-первых, можно разбить огромные тяжелые задачи на маленькие кусочки и решать частями. Во-вторых, это позволяет распределить нагрузку и добавить отказоустойчивости.

Но таким распределенным системам нужно как-то передавать данные между собой. В этом месте на сцене появляются системы обмена сообщениями (брокеры сообщений, диспетчеры сообщений). Это некая разветвленная система труб, в которую с одного конца можно бросить, например, контейнер с сообщениями, а с другого конца его кто-то получит и прочитает. К таким системам относят и Apache Kafka.

Система коммуникаций между сервисами, если она грамотно выстроена, позволяет компонентам ставить друг другу задачи, сообщать об изменениях в системе и уведомлять заинтересованные части логики приложения о своих состояниях.

Например, у вас выстроена система сообщений для большого интернет-магазина. После регистрации нового пользователя сервис авторизации разошлет сообщение об этом событии. Сервис е-мейлов в ответ пошлет приветственное письмо, а сервис сбора статистики обновит графики в админке для менеджеров магазина.

 

Почему установка Apache Kafka — лучший выбор

Как и любая дополнительная система, механизм обмена сообщениями добавляет сложности и создает ряд дополнительных проблем в обслуживании вашего приложения:

  1. Шина пересылки данных — узкое место. Представим, что ваши сервисы работают не на максимум, но в шине закончился ресурс для пересылки сообщений. В этом случае вся система будет парализована нагрузкой, несмотря на то, что у каждого компонента в отдельности остается достаточно мощности для обработки запросов.
  2. Потеря данных в шине может запутать и нарушить состояние системы. И хорошо, если вы потеряете в сообщениях что-то малозначительное, вроде статистических данных. Но что, если что-то пойдет не так при пересылке финансовой операции или важного заказа?

Для устранения этих проблем и был создан Apache Kafka — сверхнадежная сверхмасштабируемая сверхгибкая система обмена сообщениями внутри бэкенд-приложений.

 

Описание Apache Kafka

Брокер сообщений Kafka — распределенная система. Его серверы объединяются в кластеры. Хранение и пересылка сообщений идет параллельно на разных серверах, а это дает большую надежность и отказоустойчивость. Даже при выходе из строя нескольких машин, сообщения все еще будут пересылаться и обрабатываться.

Также сервис легко масштабируется горизонтально. То есть, для наращивания мощности Apache Kafka достаточно вводить в строй дополнительные серверы. Это самый простой в реализации способ масштабирования систем, но подходит он не для всех. Например, с базами данных такой подход не работает — непонятно, что делать с записями в таблицах на новых серверах. Kafka же изначально заточен под взрывной рост производительности.

Еще один плюс — консистентность данных. Записи в Apache Kafka хранятся в виде журнала коммитов. Это выглядит как очередь сообщений, в которую можно добавлять записи, а вот удалять или модицифировать — нет. Такой подход дает огромную надежность и простоту изменения любых состояний — всегда понятно, что, как и в какой последовательности менялось.

Перечисленные пункты — это, разумеется, далеко не все, чем хорош Apache Kafka. Есть еще хранение сообщений на диске, репликация, роутинг данных по куче параметров и десятки других полезных примочек.

 

Apache Kafka: обзор возможностей

Итак, у нас есть крутая, масштабируемая, производительная и гибкая система передачи сообщений. И вот как мы можем ее использовать:

  1. Самый очевидный подход — для связи микросервисов между собой. Сделал действие, послал сообщение другим сервисам — все, молодец. Или подписался на обновления от других частей системы и потихоньку на них реагируешь.
  2. Организация потоков данных. Допустим, у вас идет постоянный стрим каких-то событий, их нужно передавать по цепочке и на каждом этапе что-то с ними делать. Apache Kafka идеально реализует этот сценарий с помощью грамотной организации роутинга сообщений.
  3. Агрегация записей. В Apache Kafka можно писать данные куда быстрее, чем в обычную базу данных. Это значит, что с помощью сообщений можно организовать сбор кучи метрик, считать от них, например, средние, и уже эти значения писать в БД.
  4. Сбор логов. Apache Kafka дает возможность хранить сообщения в течение определенного времени. Это значит, что сообщения можно использовать для кратковременного (часы/сутки) хранения логов. Это позволяет разгрузить БД и медленные системы логирования.

 

Что такое Apache Kafka: делаем выводы

Kafka — решение не для новичков и не для маленьких систем. Далеко не каждый проект дорастает до нагрузок, при которых этот сервис становится реально нужен. Но знание основных приемов использования Apache Kafka позволит уже сейчас заложить в архитектуру вашего бэкенда необходимые структуры, которые при необходимости правильно масштабируются под рост бизнеса.

 

 

 

Узнать стоимость решенияЗапросить видео презентацию

← Предыдущая статья
Что такое Apache Flink
Следующая статья →
Apache Kafka: обзор

Решения

Анализировать ФинансыУвеличивайте ПродажиОптимальный Склад и ЛогистикаМаркетинговые Метрики

Клиенты
  • СберКорус (Группа компаний Сбербанка) – это ИТ‑компания, ИТ‑интегратор, SaaS-провайдер. Является разработчиком цифровых сервисов и услуг для автоматизации широкого диапазона бизнес-процессов юридических лиц. В 2004 году компания стала первым в России оператором электронного документооборота, а в 2012 году вошла в экосистему Сбера. 

  • Компания "Норникель" - лидер горно-металлургической отрасли в России и мире. Она производит металлы, необходимые для развития экологичной экономики и транспорта.

  • MoneyCare — кредитная платформа и сервис для ПОС-кредитования в магазинах, установленная в более чем 18 тысячах трейдинговых точек и сотрудничающая с 11 главными банками России.

  • KERAMA MARAZZI — международный бренд, входящий в число лидеров глобального рынка керамики. Бизнес компании охватывает весь процесс создания керамических изделий, от глиняных карьеров до фирменной розницы во всех крупных городах РФ и за рубежом.

  • Решения
    • Дистрибуция
    • Розничная торговля
    • Производство
    • Операторы связи
    • Страхование
    • Банки
    • Лизинг
    • Логистика
    • Нефтегазовый сектор
    • Медицина
    • Сеть ресторанов
    • E-Commerce
    • Энергетика
    • Фармацевтика
  • Услуги
    • Переход на отечественные BI и DWH
    • Консалтинг
    • Пилотный проект
    • Обучение и сертификация
    • Бесплатное обучение
    • Техническая поддержка
    • Технические задания
    • Сбор требований для проекта внедрения BI-системы
    • CI/CD для DWH
    • Аудит BI приложений
    • Выделенная команда
    • Настойка и поддержка баз данных
    • Разработка BI Стратегии
    • Styleguide для BI-системы
    • Как выбрать BI-систему
  • Платформы
    • FineBI
    • FineReport
    • FineDataLink
    • Коннекторы данных из 1С в BI
    • Airflow + NiFi
    • Visiology
    • Luxms BI
    • Modus BI
    • PIX BI
    • Arenadata
    • ClickHouse
    • Greenplum
    • Postgres Professional
    • Open-source BI: Superset/Metabase
    • Loginom
    • Yandex.DataLens
    • AI / Исскуственный интеллект
    • Optimacros
    • Шины данных
  • Курсы
    • Учебный курс Информационная грамотность
    • Учебный курс для бизнес-аналитиков
    • Учебный курс для системных аналитиков
    • Учебный курс по Data Governance
    • Учебный курс Как стать CDO
    • Учебный курс Современная архитектура хранилища данных
    • Учебный курс по Fine BI
    • Учебный курс по FineReport
    • Учебный курс по DWH
    • Учебный курс по Data Science (ML, AI)
    • Учебный курс по PostgreSQL
    • Учебный курс по Apache Airflow и NiFi
    • Учебный курс по Open-source BI
    • Учебный курс по ClickHouse
    • Учебный курс по DataLens
    • Учебный курс по Loginom
    • Учебный курс по Modus BI и ETL
    • Учебный курс по Visiology
    • Учебный курс по dbt
  • Функциональные решения
    • Создание Data Lake
    • Цифровая трансформация
    • Управление по KPI
    • Финансы
    • Продажи
    • Склад
    • HR
    • Маркетинг
    • Внутренний аудит
    • Категорийный менеджмент
    • S&OP и прогнозная аналитика
    • Геоаналитика
    • Цепочки поставок (SCM)
    • AutoML
    • Process Mining
    • Сквозная аналитика
  • Компания
    • О нас
    • Руководство
    • Новости
    • Клиенты
    • Скачать
    • Контакты
    • Политика конфиденциальности
RutubeVkontakteLinkedInYouTube
ООО "Би Ай Консалт",
ИНН: 7811437757,
ОГРН: 1097847154184
199178, Россия,
Санкт-Петербург,
6-ая линия В.О., Д. 63, 4 этаж
Тел: +7 (812) 334-08-01
Тел: +7 (499) 608-13-06
E-mail: info@biconsult.ru

 

 

 

 

 

×

Пользуясь сайтом, вы соглашаетесь с использованием cookies и политикой конфиденциальности.