Backend nền tảng
G6 · Kafka hoạt động như thế nào
Log phân tán: Producer ghi vào Topic → chia Partitions. Broker lưu trữ bền.
G6 · Nâng cao
Một cuốn nhật ký chỉ ghi thêm, chia thành nhiều cột (partition). Mỗi người đọc tự nhớ mình đang đọc đến dòng nào (offset).
Cốt lõi
- Log phân tán: Producer ghi vào Topic → chia Partitions. Broker lưu trữ bền.
- Consumer đọc theo offset; Consumer Group chia partition để xử lý song song.
- Thứ tự chỉ đảm bảo TRONG một partition. Điều phối: ZooKeeper / KRaft.
Đánh đổi
Throughput rất cao, mở rộng tốt, lưu bền; đổi lại vận hành phức tạp.
Trong thực tế
Newsfeed LinkedIn; sự kiện chuyến đi Uber; Netflix ~5M sự kiện/giây.
Bug thường gặp
Dùng key ngẫu nhiên → các sự kiện của cùng một đơn hàng vào partition khác nhau và bị xử lý sai thứ tự.
Tự hỏi lại
Số consumer > số partition thì sao? (consumer thừa bị rảnh).