Junior — Middle
Can you explain what a message queue in Kafka system is?
sobes.tech AI
Answer from AI
In Apache Kafka, a message queue is a distributed log where messages are written in order and stored in partitions.
Main characteristics of Kafka message queue:
- Message order: Within a partition, messages are ordered and consumed in the same order.
- Durable storage: Messages are stored on disk for a specified time or log size, allowing consumers to read from any offset.
- Scalability: Partitions enable parallel processing of messages by multiple consumers.
- No deletion after reading: Unlike traditional queues, messages are not deleted after consumption, allowing re-reading.
Example of using Kafka in C# with Confluent.Kafka library:
using Confluent.Kafka;
var config = new ConsumerConfig
{
GroupId = "group1",
BootstrapServers = "localhost:9092",
AutoOffsetReset = AutoOffsetReset.Earliest
};
using var consumer = new ConsumerBuilder<Ignore, string>(config).Build();
consumer.Subscribe("my_topic");
while (true)
{
var consumeResult = consumer.Consume();
Console.WriteLine($"Received message: {consumeResult.Message.Value}");
}
Thus, Kafka message queue is a high-performance, scalable, and fault-tolerant data transfer mechanism.