Интеграционная шина Apache Kafka
11 апреля 2024

Интеграционная шина Apache Kafka

Сегодня расскажет вам о ключевых аспектах работы с Kafka, а также разберем сходства и различия Kafka и Rabbit.

Лариса Шахмаева
Инженер-разработчик ПО
  • Магистр физики.
  • Разработка методов back-end сервисов, взаимодействующих с БД.
  • Модульное тестирование.
  • Инструментарий:
    стек технологий – .Net Framework/.Net Core (C#, ASP MVC Web API, LINQ, WPF, MS Reporting, WCF, Entity Framework, .NET Core);
    система контроля версий – Git;
    среда разработки – MS Visual Studio;
    документация – DokuWiki.
    Решаемая задача: Есть набор событий разнородных, мы хотим их куда-то отправить, для этого у нас есть поставщики данных (продюсеры), есть потребители данных (консьюмеры). При этом может оказаться так, что разным потребителям нужны одни и те же данные, а могут быть разные.

    Пример на картинке: первый тип сообщений требуется только первому и второму потребителю, второй только одному, а третий — всем.

    Сложности:

    • Надежность и гарантия доставки данных — продюсеры должны знать всё о консьюмерах (кому какие данные отправлять), при этом если консьюмер вдруг недоступен, что с этим сообщением делать.
    • Продюсеры должны знать, если появляются новые консьюмеры.
    • Есть проблема интеграции — если работают на разных стеках отправители и получатели.
    • Техподдержка — что делать в случае возникновения проблем.

    Решение: посредник — брокер принимает на себя функцию получения и отправки сообщений.
    В нём есть набор «ящиков» под каждый тип событий — продюсеры складывают в эти ящики
    в брокере сообщения, консьюмеры — приходят и забирают нужные им.
    Надёжность — продюсеры и консьюмеры не обязаны знать друг о друге, не контактируют между собой.

    Подробнее в записи лекции ниже.

    Содержание:

    00:00:00
     — Вступление. Решаемая задача. Что нужно для работы с Kafka?
    00:03:36 — Брокеры Kafka. Kafka Message. Kafka Topic. Topics & Brokers.
    00:10:40 — Логи.
    00:15:33 — Репликация данных.
    00:20:38 — Produсers & Consumers. Тонкая настройка.
    00:29:48 — Kafka VS Rabbit. Различия Кафки и Рэббита. Что выбрать?..
    00:34:28 — Пример использования. Игра «Отгадай сказку».
    00:43:39 — Просмотр логов.
    00:44:40 — Я знаю что это! Заключение.
    Вам также может быть интересно