Проверяет понимание назначения Apache Kafka как распределённой платформы потоковой передачи данных и роли брокеров сообщений в архитектуре приложений.
Apache Kafka — это распределённая платформа для потоковой передачи событий, которую часто используют как брокер сообщений. В отличие от классических очередей, Kafka хранит сообщения в виде упорядоченного лога и позволяет нескольким потребителям читать одни и те же данные независимо друг от друга. Это делает её удобной для построения событийно-ориентированных архитектур и потоковой обработки данных в реальном времени.
Основные сущности Kafka:
Сообщения не удаляются сразу после прочтения, а хранятся заданное время (retention). Это позволяет переигрывать события и подключать новых потребителей без потери данных.
const { Kafka } = require('kafkajs');
const kafka = new Kafka({ brokers: ['localhost:9092'] });
// Producer
const producer = kafka.producer();
await producer.connect();
await producer.send({
topic: 'orders',
messages: [{ value: JSON.stringify({ id: 1, sum: 100 }) }],
});
// Consumer
const consumer = kafka.consumer({ groupId: 'order-service' });
await consumer.connect();
await consumer.subscribe({ topic: 'orders' });
await consumer.run({
eachMessage: async ({ message }) => {
console.log('Получено:', message.value.toString());
},
});Kafka применяется в аналитике в реальном времени, логах, микросервисной интеграции, CDC и event sourcing. Она особенно полезна там, где важны высокая пропускная способность и сохранение истории событий.
Итог: Kafka стоит применять, когда нужна масштабируемая, отказоустойчивая и асинхронная передача событий между сервисами или потоковая обработка больших объёмов данных.
Frontend developer
Ментор по Frontend
Полное сопровождение до оффера — без дорогих курсов, с оплатой после трудоустройства
Записаться на консультацию