Tôi đã nghiên cứu apache kafka trong một tháng nay. Tuy nhiên, tôi bị mắc kẹt tại một điểm ngay bây giờ. Trường hợp sử dụng của tôi là, tôi có hai hoặc nhiều quy trình tiêu thụ chạy trên các máy khác nhau. Tôi đã chạy một vài thử nghiệm trong đó tôi đã xuất bản 10.000 tin nhắn trong máy chủ kafka. Sau đó, trong khi xử lý các thông điệp này tôi đã giết chết một trong các quy trình tiêu dùng và khởi động lại nó. Người tiêu dùng đã viết tin nhắn được xử lý trong một tệp. Vì vậy, sau khi tiêu thụ hoàn tất, tệp đã hiển thị hơn 10k thư. Vì vậy, một số tin nhắn đã được nhân đôi.Chiến lược hiệu quả để tránh các thư trùng lặp trong người tiêu dùng apache kafka
Trong quy trình tiêu dùng, tôi đã vô hiệu hóa cam kết tự động. Người tiêu dùng tự cam kết offsets hàng loạt khôn ngoan. Vì vậy, ví dụ: nếu 100 thư được ghi vào tệp, người tiêu dùng cam kết bù đắp. Khi quá trình tiêu dùng duy nhất đang chạy và nó bị treo và khôi phục trùng lặp được tránh theo cách này. Nhưng khi nhiều hơn một người tiêu dùng đang chạy và một trong số họ bị treo và phục hồi, nó sẽ ghi các thư trùng lặp vào tệp.
Có chiến lược hiệu quả nào để tránh các thư trùng lặp này không?
Tôi không thấy vấn đề trùng lặp được tránh trong trường hợp khách hàng đơn lẻ như thế nào. Bạn có thể giúp tôi hiểu không? – RaGe