Consumer group và rebalance trong Kafka với Spring Boot
Hiểu cách Kafka chia partition cho consumer group, khi nào rebalance xảy ra và cách giảm ảnh hưởng của rebalance trong ứng dụng Spring Boot.
Hiểu cách Kafka chia partition cho consumer group, khi nào rebalance xảy ra và cách giảm ảnh hưởng của rebalance trong ứng dụng Spring Boot.
Dùng Debezium đọc WAL của PostgreSQL, đẩy mọi thay đổi dữ liệu vào Kafka và tiêu thụ chúng bằng Spring Boot, không cần sửa code ghi dữ liệu.
Dùng Kafka làm event log cho Order: ghi sự kiện bất biến, dựng lại trạng thái bằng replay, tạo read model bằng projection. Kèm các giới hạn cần biết trước khi áp dụng.
Consumer lag là gì, cách đo bằng CLI, AdminClient và Micrometer, các chỉ số broker/producer/consumer nên theo dõi và cách đặt cảnh báo hợp lý.
Cấu hình acks, enable.idempotence, batch.size và linger.ms cho Kafka producer để không mất message, không trùng lặp mà vẫn đạt throughput cao.
Ghi database và gửi Kafka cùng lúc rất dễ mất sự kiện. Bài này hướng dẫn cài Outbox pattern với Spring Boot 3 và Kafka để hai bên luôn nhất quán.
Cài đặt Saga pattern kiểu orchestration với Spring Boot và Kafka. Đặt vé máy bay, khách sạn, thanh toán, và tự động bù trừ khi một bước thất bại.
Dùng Confluent Schema Registry với Avro và Protobuf trong Spring Boot 3 để kiểm soát định dạng message Kafka và tiến hóa schema an toàn.
Rebalance hoạt động ra sao, vì sao nó làm consumer ngừng xử lý message, và cách giảm thiểu bằng cấu hình poll, cooperative rebalancing, static membership.
Cấu hình retry blocking và non-blocking cho Kafka consumer trong Spring Boot 3, đẩy message lỗi sang dead letter topic và viết test kiểm chứng.
Cách Kafka chọn partition từ key, cách chọn key để giữ đúng thứ tự message mà không tạo hot partition, và những lỗi hay gặp với Spring Boot.
Tìm hiểu cách acks, retries và idempotence phối hợp để đảm bảo message không mất, không trùng khi producer gửi dữ liệu lên Kafka.
Giải thích ba khái niệm nền tảng của Kafka — topic, partition, offset — kèm ví dụ producer/consumer bằng Spring Boot.