На странице собраны вопросы по Kafka — от проверки базовых принципов до практического применения и архитектурных решений. В подборке чаще встречаются темы: kafka, backend, api.
Одна Kafka record отправляется в одну партицию выбранного топика. Её выбирают явно, по ключу или алгоритмом partitioner; репликация создаёт копии этой партиции на брокерах.
Опишите реальную topology: входные топики, преобразования, ключи, окна или joins и выходной результат. Kafka Streams — библиотека stream processing внутри приложения, а не отдельный брокер.
Kafka может отделить приём работы от обработки, сгладить пики и дать независимым consumers читать события. Но она не устраняет сам объём вычислений и не гарантирует снижение общей нагрузки.
WebFlux и Kafka решают разные задачи. WebFlux — реактивный web-стек для HTTP, а Kafka — распределённый журнал сообщений для асинхронного обмена и обработки событий.
Да, это может быть основой at-least-once, если ответ означает устойчивое завершение операции. Но сбой после внешнего успеха и до commit приведёт к повторной обработке сообщения.
Kafka принимает события планирования, обработчик сохраняет job ID в Redis sorted set со временем отправки в score, а scheduler выбирает наступившие задания и передаёт исполнителям.
Проследите конкретное событие по ID через все границы: подтверждённую запись producer, нужный topic/cluster, consumer group, обработчик и конечное хранилище. Общие метрики могут скрывать пропажу.
Некоторые конфигурации БД способны на 100 тысяч записей в секунду, но гарантировать это без условий нельзя. Решают размер событий, индексы, durability, батчи, репликация и оборудование.
Kafka позволяет развести приём аудита и обработку, но нужны партиционирование, пакетная запись и хранилище под запросы и срок хранения. Сотни тысяч событий требуют расчёта объёма.
Один экземпляр приложения может создавать несколько Kafka consumers. Частая причина шести consumers — concurrency=6 у listener или его container factory.
Kafka позволяет строить at-most-once, at-least-once и транзакционную exactly-once обработку в определённом контуре. Идемпотентность означает, что повтор операции не создаёт дополнительного эффекта.