Новый внешний вид Apache Kafka 4.0

Недавно введенный Apache Kafka 4.0 поставляется с рядом обновлений практически во всех аспектах платформы потоковой передачи распределенных событий с открытым исходным кодом. В недавнем выпуске есть многочисленные предложения по улучшению кафки (KIP), которые предоставляют новые функциональные возможности от сообщества с открытым исходным кодом — через кафка -потоки, Kafka Connect и брокеров Kafka, потребителей, производителей и многого другого.

Тем не менее, наиболее значимая часть выпуска, вероятно, не связана с какими -либо KIP. Kafka 4.0 — первая версия, которая запускает Apache Kafka Raft (Kraft), реализацию протокола плота в Кафке по умолчанию. Таким образом, платформа в настоящее время полностью лишены Zookeeper Apache, централизованной службы для поддержания информации для конфигураций, синхронизации, соглашений именования и многого другого для распределенных приложений.

По словам Сандона Джейкобса, старшего застройщика в Confluent, поэтапный отпуск Zookeeper был совсем не внезапным. «План миграции был там некоторое время», — отметил Джейкобс. «Сообщество не было скрытным в отношении того факта, что Zookeeper идет, так сказать, по пути Dodo. Итак, за последние несколько выпусков это было в работе».

Издание 4.0 также содержит версию очередей в раннем доступе для Kafka (KIP-932), которая позволяет пользователям масштабировать потребителей Kafka за пределы количества разделов для данной темы. Другие примечательные возможности относятся к существенным улучшениям для групп потребителей перебалансировки без времени простоя и механизмов для ускорения ввода логики в приложения кафки.

Сила над зоокером

Существует множество причин замены Кафки Zookeeper на Kraft. Некоторые относятся к выгодам затрат; Другие относятся к времени выполнения и стабильности применения. «Вам не нужно беспокоиться о том, чтобы запустить еще один кластер Zookeeper», — объяснил Джейкобс. «Одна менее движущаяся часть всегда лучше. Там меньше сбоя». В качестве координационного уровня метаданных для развертывания Кафки Zookeeper отвечал за несколько нетривиальных соображений при использовании Kafka. Большинство из этих проблем касались операций и усугублялись тем фактом, что, хотя Zookeeper является ресурсом с открытым исходным кодом, доступным в Фонде Apache, он был внешним по отношению к развертываниям Kafka.

Следовательно, он добавил к сложности потоковых топологий данных. «Теперь у вас нет операторов, которые говорят, что мне нужно создать кластер Zookeeper; мне нужно создать кластер Kafka», — сказал Джейкобс. «Мне нужно управлять такими вещами, как TLS между Zookeeper и Kafka. Я больше не управляю вычислением для Zookeeper». Zookeeper широко использовался в качестве средства управления метаданными для реплицированной информации о темах и разделах для определения факторов, например, какие разделы могут служить лидерами на основе синхронизации реплик. «В какой -то момент все, что перенесло в Крафт», — сказал Джейкобс.

Очереди для Кафки

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

Перед выпуском 4.0 было в значительной степени нецелесообразно масштабировать количество членов потребительской группы в Кафке за пределами количества раздела по теме. В традиционных системах обмена сообщениями на основе очередей, таких как Amazon Simple Queue Service (SQS), потребительские приложения могут создавать любое количество потоков «для потребления, и эти потоки просто пойдут на следующее доступное событие в очереди»,-сказал Джейкобс. Но до Kafka 4.0 пользователи были эффективно ограничены масштабированием членов потребительских групп до количества разделов по теме, потому что, если они попытаются сделать больше «вы в конечном итоге сталкиваются с постоянными членами потребительской группы», — сказал Джейкобс. «Они не собираются получить задание по разделу; они не будут потреблять никаких данных».

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

Потребительская группа по перебалансированию

KIP-848 ускоряет и упрощает перебалансирование группы потребителей. Исторически, в Кафке было некоторое время простоя, когда новые перегородки были назначены для добавления машин, например, во время всплеска движения. Некоторые из потребляемых приложений были остановлены во время этого процесса. KIP-848 улучшает этот сценарий, так что, в идеале, потребление не останавливается, когда разбивание для потребителей перебалансировано.

«Это исполнение», — сказал Джейкобс. «Вам не нужно обязательно останавливать всех только потому, что появился новый член группы». Эти возможности могут улучшить развертывание автоматического масштаба через такие рамки, как Kubernetes. При масштабировании для удовлетворения потребностей предварительно определенных порогов система автоматически «добавляет стручки, которые вы хотите ускорить потребление, а другие стручки продолжаются, как обычно»,-сказал Джейкобс.

Инъекции кода и наблюдение

KIP-1112 вставляет код в процессоры API и DSL-процессоры процессора в потоках KAFKA с индивидуальными возможностями обертывания процесса. Это исключает ручную резку и вставку кода, который может отнимать много времени для разработчиков, в процессоров, что в противном случае необходимо для равномерно добавления логики для аудита, например, для них.

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

KIP-1076 и KIP-1091 повышают возможность наблюдения Кафки, создавая доступные консолидированные показатели клиента и новые подробные показатели состояния для брокеров системы. Они улучшают способность службы обмена сообщениями, чтобы «сообщать о показателях клиентов обратно в Kafka, чтобы вы могли настроить выбор коллекционера OpenElemetry и использовать инструменты, в которые вы уже инвестиции, такие как DataDog, чтобы получить эти показатели о ваших производителях и потребителях, ваших клиентах администратора, в эту платформу», — сказал Джакобс.

Лучше со временем

Ни один из KIP, предоставляющих новые функции, найденные в Kafka 4.0, общая доступность. Большинство из них находятся на разных этапах использования сообщества, обратной связи и одобрения. Тем не менее, почти все они предназначены для сокращения времени и усилий, необходимых для разработчиков, чтобы максимизировать значение одной из самых вездесущих платформ, лежащих в основе современных приложений потоковых данных. С этой целью могут быть сделаны улучшения для любого из KIP, найденных в выпуске 4.0, почти так же, как они улучшают саму платформу.

Trending Stories youtube.com/thenewstack Tech движется быстро, не пропустите эпизод. Подпишитесь на наш канал YouTube, чтобы транслировать все наши подкасты, интервью, демонстрации и многое другое. Группа подпишитесь с эскизом. Jelani Harper работал аналитиком, руководителем исследований, консультантом по информационным технологиям и журналистам более 10 лет. В течение этого времени он помогал бесчисленным поставщикам и публикациям в области управления данными, разрабатывать, сочинять и поместить … Подробнее от Jelani Harper

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *