[Ся Чжиихань-Кафка, столбец 01] Использует ли сообщение Kafka режим Pull или Push?
[Ся Чжиихань-Кафка, столбец 01] Использует ли сообщение Kafka режим Pull или Push?

Имя автора:От лета до холода

Об авторе: Сосредоточьтесь на Java и больших данных, стремимся исследовать границы технологий и делиться передовыми практиками и идеями.

Колонка статей: Колонка Ся Чжиихань-Кафка

Введение в колонку. Целью этой колонки является представление основных концепций, основных компонентов и сценариев использования Kafka в простой для понимания форме, а также пошаговое создание системы знаний об очередях сообщений и потоковой обработке, независимо от того, заинтересованы ли вы в распределенных системы или подготовка к работе с ними. Делая первый шаг в области больших данных, в этой колонке представлены все необходимые ресурсы, рекомендации и вопросы для собеседований. Подпишитесь бесплатно прямо сейчас и начните свой путь обучения Kafka!

Механизм доставки сообщений Kafka в основном использует режим Pull, но также включает в себя некоторые функции режима Push. Ниже приводится подробное описание применения этих двух режимов в Kafka:

1. Режим вытягивания

В режиме Pull Потребитель активно получает сообщения от Брокера. Это основной способ потребления сообщений в Kafka, имеющий следующие характеристики:

  • потребительский контроль:PullРежим позволяет потребителям контролировать скорость получения сообщений в зависимости от их вычислительной мощности.。Потребители могут решать, когда и сколько сообщений получать,Это помогает избежать задержек, вызванных медленной обработкой сообщений.
  • гибкость:Поскольку потребители могут контролировать получение сообщений,Это обеспечивает возможность обработки различных объемов сообщений и скоростей обработки. Потребители могут корректировать стратегию привлечения в соответствии со своими потребностями.,Например, пакетное или одиночное вытягивание.
  • Отслеживание места потребления:существоватьPullв режиме,Потребителю необходимо поддерживать смещение (Offset).,Используется для записи местоположения извлеченных сообщений. так,Даже после перезапуска после сбоя потребителя,Вы также можете продолжить потребление с того места, на котором остановились в прошлый раз.
  • дизайн без гражданства:Pullузор делаетKafkaПотребитель спроектирован так, чтобы быть лицом без гражданства,Потому что они не полагаются на информацию о статусе Брокера. Потребителям нужно только отслеживать свои собственные компенсации.,Брокеру не требуется хранить какую-либо информацию о потребителях.

2. Режим нажатия

Хотя Kafka в основном использует режим Pull, он также включает в себя некоторые характеристики режима Push, особенно с точки зрения изменений и доставки сообщений в группе потребителей:

  • Push-сообщение:существоватьв группе потребителей,Когда присоединяется новый потребитель или уходит существующий потребитель,Kafka автоматически перераспределит раздел.,Это активирует отправку раздела. Этот механизм обеспечивает балансировку нагрузки и высокую доступность.
  • Автоматическое управление разделами:KafkaКлиентская библиотека потребителя будет обрабатыватьPartitionраспределение и ребалансировка,Потребителям не нужно вручную управлять разделами. Когда меняется статус группы потребителей,Kafka будет отвечать за отправку раздела соответствующему потребителю.
  • Заказанная рассылка:существоватьодинокийPartitionвнутренний,Сообщения в порядке. Потребителей можно рассматривать как получателей сообщений в режиме Push.,Потому что им не нужно активно тянуть,Сообщения приходят автоматически по порядку.
  • Координация группы потребителей:группа потребителейвнутренний Механизм координации аналогиченPushмодель,Координация и обмен сообщениями между членами группы автоматически управляются внутренними механизмами Kafka.

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

boy illustration
Неразрушающее увеличение изображений одним щелчком мыши, чтобы сделать их более четкими артефактами искусственного интеллекта, включая руководства по установке и использованию.
boy illustration
Копикодер: этот инструмент отлично работает с Cursor, Bolt и V0! Предоставьте более качественные подсказки для разработки интерфейса (создание навигационного веб-сайта с использованием искусственного интеллекта).
boy illustration
Новый бесплатный RooCline превосходит Cline v3.1? ! Быстрее, умнее и лучше вилка Cline! (Независимое программирование AI, порог 0)
boy illustration
Разработав более 10 проектов с помощью Cursor, я собрал 10 примеров и 60 подсказок.
boy illustration
Я потратил 72 часа на изучение курсорных агентов, и вот неоспоримые факты, которыми я должен поделиться!
boy illustration
Идеальная интеграция Cursor и DeepSeek API
boy illustration
DeepSeek V3 снижает затраты на обучение больших моделей
boy illustration
Артефакт, увеличивающий количество очков: на основе улучшения характеристик препятствия малым целям Yolov8 (SEAM, MultiSEAM).
boy illustration
DeepSeek V3 раскручивался уже три дня. Сегодня я попробовал самопровозглашенную модель «ChatGPT».
boy illustration
Open Devin — инженер-программист искусственного интеллекта с открытым исходным кодом, который меньше программирует и больше создает.
boy illustration
Эксклюзивное оригинальное улучшение YOLOv8: собственная разработка SPPF | SPPF сочетается с воспринимаемой большой сверткой ядра UniRepLK, а свертка с большим ядром + без расширения улучшает восприимчивое поле
boy illustration
Популярное и подробное объяснение DeepSeek-V3: от его появления до преимуществ и сравнения с GPT-4o.
boy illustration
9 основных словесных инструкций по доработке академических работ с помощью ChatGPT, эффективных и практичных, которые стоит собрать
boy illustration
Вызовите deepseek в vscode для реализации программирования с помощью искусственного интеллекта.
boy illustration
Познакомьтесь с принципами сверточных нейронных сетей (CNN) в одной статье (суперподробно)
boy illustration
50,3 тыс. звезд! Immich: автономное решение для резервного копирования фотографий и видео, которое экономит деньги и избавляет от беспокойства.
boy illustration
Cloud Native|Практика: установка Dashbaord для K8s, графика неплохая
boy illustration
Краткий обзор статьи — использование синтетических данных при обучении больших моделей и оптимизации производительности
boy illustration
MiniPerplx: новая поисковая система искусственного интеллекта с открытым исходным кодом, спонсируемая xAI и Vercel.
boy illustration
Конструкция сервиса Synology Drive сочетает проникновение в интрасеть и синхронизацию папок заметок Obsidian в облаке.
boy illustration
Центр конфигурации————Накос
boy illustration
Начинаем с нуля при разработке в облаке Copilot: начать разработку с минимальным использованием кода стало проще
boy illustration
[Серия Docker] Docker создает мультиплатформенные образы: практика архитектуры Arm64
boy illustration
Обновление новых возможностей coze | Я использовал coze для создания апплета помощника по исправлению домашних заданий по математике
boy illustration
Советы по развертыванию Nginx: практическое создание статических веб-сайтов на облачных серверах
boy illustration
Feiniu fnos использует Docker для развертывания личного блокнота Notepad
boy illustration
Сверточная нейронная сеть VGG реализует классификацию изображений Cifar10 — практический опыт Pytorch
boy illustration
Начало работы с EdgeonePages — новым недорогим решением для хостинга веб-сайтов
boy illustration
[Зона легкого облачного игрового сервера] Управление игровыми архивами
boy illustration
Развертывание SpringCloud-проекта на базе Docker и Docker-Compose