Một topic Kafka được chia thành nhiều partition — mỗi partition là một log append-only, có thứ tự. Ghi/đọc song song trên nhiều partition là cách Kafka scale throughput.
- Thứ tự chỉ đảm bảo trong một partition, không phải toàn topic. Message cùng key luôn vào cùng partition → giữ thứ tự theo key.
- Consumer group: nhiều consumer chia nhau đọc; Kafka gán mỗi partition cho tối đa một consumer trong group → xử lý song song, không trùng. Do đó số consumer hữu ích ≤ số partition (consumer thừa sẽ idle, không được gán partition).
- Mỗi group giữ offset riêng → nhiều group đọc độc lập cùng một topic (fan-out).
Chọn số partition đủ lớn ngay từ đầu (khó giảm sau này), cân bằng giữa mức song song và chi phí quản lý.