Apache Kafka
DevOps 🔴 SeniorDefinition
Plateforme de streaming distribué à haute performance. Les messages sont persistés dans des topics partitionnés, consommés par des consumer groups.
Analogie
Un journal officiel : les articles (messages) sont publiés, archivés, et chaque lecteur (consumer) peut relire depuis n'importe quelle date.
Exemple de code
// Producer
await producer.send({
topic: 'user-events',
messages: [{ key: userId, value: JSON.stringify(event) }]
});
// Consumer
await consumer.subscribe({ topic: 'user-events' });
await consumer.run({ eachMessage: async ({ message }) => {
processEvent(JSON.parse(message.value));
}});
Cas d'usage
Event sourcing, streaming de données temps réel, communication inter-services à grande échelle.
Anti-pattern
Utiliser Kafka pour des queues simples : surcharge opérationnelle pour un cas trivial.