Comments 15
Сообщение не будет доступно листенерам, пока оно не записано физически в файл?
Насколько я помню, режим точно-раз в кафке нерабочий, и люди городят велосипеды с очередями квитанций от потребителя
Да, сообщение не будет доступно для репликации, пока оно не окажется на диске. Что касается семантики exactly once, то рекомендую дополнительно послушать доклад моего коллеги Артёма Кулешова. Он рассказывает о том, какие есть подводные камни со стороны приложения и как их избежать.
Внимательно прочитал: всё-таки не обязательно дожидаться записи в файл (fsync).
Семантика точно-раз относится ко всему процессу передачи события консумеру или только к зоне ответственности кафки?
Извините, не мог пройти мимо
Консумер
А почему тогда не продусер? :)
Спасибо за статью!! Всё кратко и емко разложено по полочкам! Приятно читать!
очень интересная попытка объяснения
что смутило — в ходе изложения почти не видно приземления в кейсы и предметку, как именно это применять
получается сплошная абстракция и мета-модель, вещь в себе, роутеры — это такие консумеры, которые в пайплайне коммитят треды с топиками, делегаты маршрутизируют очереди диспетчеров, сепульки сепулькают сепулькарии
как это всё ложится на конкретные задачи интеграции и обмена данными с системами A, B, например, CRM, склад, процессинг и конкретные типы данных Заказ, Клиент, Поставка, Отгрузка и т.д. — непонятно, остаётся только догадываться
математикам норм, всем остальным будет сложно)
«Приземление» на предметную область есть в практической части. В примере есть простая задача обработки координат партнёров и простейшая реализация клиентов на Go.
Просто отличная статья, спасибо
Попробовал пройти практику. Брокеры kafka-2 и kafka-3 оставнавливаются сразу после запуска. В логе было предупреждение про KAFKA_KRAFT_CLUSTER_ID - прописал, не помогло. В итоге невозможно создать topic:
Failed to create topic, kafka responded with the following error: INVALID_REPLICATION_FACTOR: Replication factor is below 1 or larger than the number of available brokers.
Поправил. Bitnami опубликовали версию Kafka-образа от Bitnami, на основе которой и строится стенд, включающий Kraft по умолчанию. Я отключил Kraft и указал Security Protocols, чтобы сохранить совместимость.
В ближайшем будущем необходимости в Zookeeper не будет, однако я решил его оставить в образовательных целях: в продакшне ещё будут встречаться инсталляции, где кворум достигается путём выбора лидера (leader election) в Zookeeper, а не в кластере Kafka.
Спасибо за статью и за понятный менеджеру язык!
Kafka за 20 минут. Ментальная модель и как с ней работать