Chuyển đến nội dung
Consumer group: cùng luồng, tiến độ riêng

Consumer group: cùng luồng, tiến độ riêng

Báo cáo doanh thu và hệ thống giao hàng đều cần đọc tất cả đơn. Nếu đặt chúng vào cùng consumer group, chúng sẽ chia việc đọc partition, không phải mỗi bên đều nhận toàn bộ sự kiện. Hai ứng dụng có mục đích độc lập cần group ID riêng.

Chia việc trong một group

Với cơ chế subscribe/group assignment thông thường, một partition được giao cho một consumer trong group tại một thời điểm. Consumer có thể nhận nhiều partition. Các group khác nhau có thể đọc cùng partition độc lập.

Ví dụ kiểm tra bằng tay với topic có ba partition:

Group Consumer Assignment minh họa
revenue R1 P0, P1
revenue R2 P2
shipping S1 P0, P1, P2

R1 và R2 cùng tạo đầu vào cho báo cáo; S1 vẫn đọc cả ba partition. Assignment thật phụ thuộc assignor/protocol, không bảo đảm đúng bố cục bảng này. Nếu thêm R3 và R4, tối đa ba consumer có partition; một consumer có thể rảnh.

Tiến độ thuộc group, không thuộc tên máy

Group lưu committed offset theo topic-partition. Khi consumer khác nhận partition, nó có thể bắt đầu từ vị trí đã commit. Đổi group ID giống tạo một nhóm có tiến độ riêng; đừng làm điều đó để “sửa lag” mà chưa xác định cần replay từ đâu.

Kafka 4.0 có classic và consumer group protocol. Cấu hình heartbeat/assignment khác nhau; bài này giải thích mô hình chia partition, không giả định mọi hệ thống dùng cùng giao thức. Không lẫn mô hình này với các tính năng chia record kiểu share group ở các phiên bản khác.

Khi consumer vẫn chạy nhưng lag tăng

Consumer có thể poll liên tục nhưng xử lý sink quá chậm. Xem tốc độ xử lý, số partition được giao, lỗi ghi output và committed offset. Lag tính theo số record không tự là số phút dữ liệu trễ; còn cần timestamp nghiệp vụ và thời điểm output xuất hiện.

Trong ví dụ local, cafe-reader-v1 là group thực hành. --from-beginning không ghi đè committed offset đã tồn tại; dùng group mới nếu muốn đọc lại từ đầu trong một bài học mới. Đọc offset trước khi thay chính sách commit.

Tài liệu gốc

Consumer configs 4.0 mô tả group ID, protocol và offset reset. Basic operations hướng dẫn quan sát assignment/lag. Đối chiếu ngày 1/10/2026.