Sobes.tech
Middle

What are message queues (Kafka) used for? What is offset? What is the structure: topic, partition, message?

sobes.tech AI

Answer from AI

Message queues in Kafka are used for transmitting data between systems or components asynchronously, providing high performance, scalability, and fault tolerance.

Offset is a unique sequential number of a message within a partition, allowing consumers to track which messages they have already read. Offset guarantees that messages can be read sequentially and re-read if necessary.

Kafka structure:

  • Topic — a logical category or channel where messages are published. For example, "user_events".
  • Partition — a division within a topic that stores an ordered set of messages. Partitions allow scaling the topic and provide parallelism.
  • Message — an individual message with a key, value, and metadata, published to a partition.

Example: The "orders" topic may have 3 partitions. Each partition contains a sequence of messages with a unique offset. The consumer reads messages from partitions, using the offset to track progress.