Message Queue 30/08/2026 9 phút

Khởi động lại ngay một ứng dụng Kafka Streams mất 44 giây, nhưng chờ 50 giây rồi mới bật lại chỉ mất 0,4 giây — nghịch lý này có một dòng cấu hình để xoá

Kafka Streams chạy xử lý dòng ngay trong ứng dụng của bạn. Tôi đo một phép đếm đơn giản và cả ba con số đều bất ngờ: 200.000 tin vào chỉ cho 5.340 bản ghi ra, trạng thái nằm ở hai nơi, và khởi động lại ngay lập tức chậm hơn khởi động lại sau khi chờ tới 90 lần — vì bản mới đang đợi chính bóng ma của mình hết hạn.

Message Queue 30/08/2026 8 phút

Cùng một tập dữ liệu, đổi đúng một con số: cửa sổ nối 5 giây cho 0 kết quả, cửa sổ 60 giây cho 5.000 — và trường hợp rỗng không hề báo lỗi

Nối hai dòng dữ liệu là việc phổ biến nhất và dễ làm sai nhất trong Kafka Streams. Tôi dựng một phép nối rồi chỉ đổi độ dài cửa sổ: kết quả đi từ đầy đủ xuống bằng không, không một dòng log. Cửa sổ nối so thời gian sự kiện, nên nó phải khớp khoảng cách thật trong nghiệp vụ — và cái giá của cửa sổ dài tỉ lệ với lưu lượng, không với độ dài.

Message Queue 30/08/2026 8 phút

50.000 UPDATE và 10.000 DELETE trong PostgreSQL sinh ra đúng 0 bản ghi trong Kafka — connector vẫn báo RUNNING, và dữ liệu sai nằm đó vĩnh viễn

Kafka Connect đưa dữ liệu vào ra Kafka bằng JSON cấu hình thay vì mã. Tôi dựng đường ống PostgreSQL → Kafka và đo: thông lượng hơn trăm nghìn dòng/giây, nhưng mode=incrementing mù hoàn toàn với UPDATE và DELETE — không lỗi, không log, connector vẫn xanh, trong khi hạ nguồn tính toán trên dữ liệu cũ. Cách bạn phát hiện thay đổi quyết định loại thay đổi bạn thấy được.

Message Queue 30/08/2026 8 phút

Tôi tạm dừng một connector Debezium đúng 8 giây, PostgreSQL giữ lại 50 MB WAL — và không nhả ra kể cả khi đã bắt kịp; một sự cố hạ nguồn leo ngược lên hệ thống gốc

Debezium đọc WAL thay vì hỏi bảng, nên nó bắt được cả UPDATE lẫn DELETE mà JDBC source bỏ sót — kèm cả giá trị 'before' và 'after'. Nhưng cái giá nằm ở phía cơ sở dữ liệu: khe sao chép ghim WAL lại cho tới khi connector xác nhận, nên một consumer chết qua đêm có thể làm đầy đĩa và chặn luôn việc ghi của hệ giao dịch.

Message Queue 30/08/2026 9 phút

Lag tăng 57 lần trong 60 giây, mà cả ba chỉ số sức khoẻ broker Kafka vẫn xanh mướt — chúng không nói dối, chúng chỉ đang đo sai thứ

Kafka phát ra hàng trăm chỉ số qua JMX. Tôi dựng một sự cố thật — consumer treo, dữ liệu ngừng chảy tới hạ nguồn — rồi xem chỉ số nào báo: broker báo hoàn toàn khoẻ suốt cả phút. Bài này chỉ ra bốn chỉ số broker thật sự đáng cảnh báo, và ba chỉ số phía client mới là thứ nói cho bạn biết đường ống có đang chạy hay không.

Message Queue 30/08/2026 9 phút

Cùng một trạng thái Kafka: 'tụt 2 triệu tin' hay 'tụt 102,6 giây' — một con số nói cho bạn mọi thứ, con số kia chẳng nói gì

Lag là chỉ số quan trọng nhất của một hệ thống Kafka, và cũng là chỉ số bị đặt cảnh báo sai nhiều nhất. Tôi đo cùng một trạng thái theo hai cách: hai triệu tin không hành động được, còn 102,6 giây thì trả lời ngay mọi câu hỏi. Cùng 100.000 tin lag có thể là 5 giây hoặc 2,8 giờ — chênh hai nghìn lần, tuỳ tốc độ.