
Погружение в Kafka c KRaft
mrtxee 27 минут назад Погружение в Kafka c KRaft Средний 5 мин 530 Developer Relations * DevOps * *nix * Обзор На текущей позиции в финтех компании достаточно часто приходится проводить интервью на должность...
Anthropic — What company has the best second artificial intelligence model at the end of June?
В сфере искусственного интеллекта произошло заметное событие. mrtxee 27 минут назад Погружение в Kafka c KRaft Средний 5 мин 530 Developer Relations * DevOps * *nix * Обзор На текущей позиции в финтех компании достаточно часто приходится проводить интервью на должность разработчика, технического лидера проекта. Обязательной частью является валидировать понимание работы с распределенными событийными моделями. Тут начинается аномалия.
Не смотря на то, что все кандидаты заявляют об опыте с Kafka, многие теряются в рассуждениях на тему что это и как организовано. Для того, чтобы коллегам было комфортное на техническом интервью, а так же для желающих понять работу Kafka без Zookeper предлагаю статью. Понимаю, что мы все не любим длинные тексты, поэтому вложил максимум деталей в схемы и краткие формулировки.
Технические детали
Структура кафкиApache Kafka – это шина событий на базе неизменяемого лога. Обеспечивает слабую связанность сервисов, хранение истории и упорядоченную доставку сообщений. Кафка стала популярной за счет возможностей масштабирования и устойчивости к потерям данных.
Кафка вошла в технологический ландшафт таких компаний как LinkedIn, Netflix, Slack, Uber,.. Масштабирование кафки достигается за счет системы партиционирования, а устойчивость для счет распределенных репликаций. Компоненты KafkaKafka Cluster — логическое объединение кафка брокеров.
Broker — сервер Kafka, который хранит партиции, может обрабатывает запросы клиентов, может участвовать вы выборах лидера кластераTopic — канал, куда отправляются сообщения (например, «логи», «заказы»). Partition — часть топика, упорядоченный журнал сообщений. Предназначен для параллельной обработки сообщений.
Отраслевые последствия
В идеальной ситуации число партиций совпадает с числом потребителей Consumer Group-ыOffset — номер сообщения внутри партиции. Позволяет консюмеру помнить, где остановился. Producer / Consumer –- клиент, который отправляет / потребляет сообщение топика.
Consumer Group — Группа консюмеров, которые совместно читают один топик для балансировки нагрузки. С гарантией того, что 2 консюмера одной группы не прочитают одной сообщение. Consumer может существовать вне Consumer GroupВ этом случае кластер не будет хранить оффсет такого консюмера.
Эта задача ляжет на разработчиков консюмера. Record - Единица данных, отправляемая в Kafka. Содержит ключ, значение, временную метку и заголовки сообщения.
Этот прогресс даёт важные сигналы о будущем отрасли, и технологический мир внимательно наблюдает.





