Queue In Java Spring Boot
<div class="markdown-block">Hiện tại em đang muốn tạo queue trong java (chỉ dành riêng cho service java), nhằm mục đích để chứa các request và xử lý lần lượt. Em đang phân vân không biết nên sử dụng một số queue của java như LinkedList, ... hay sử dụng message broker như rabbit mq, kafka, ... Mong mọi người hỗ trợ giúp em ạ</div>
Cách xử lý bất đồng bộ các message trong message queue
<div class="markdown-block">Hiện tại thì e đang design 1 cái architecture overview nhưng đang khá khoai ở chỗ việc xử lý bất đồng bộ đống message.Bài toán đưa ra là:user upload file csv lên s3s3 trigger lambda(producer)lambda (producer) gửi 1 cái message dạng như "starting: job_id" vào "Upsert" queuelambda (producer) lấy file csv và xử lý từng row (loop theo row)từng row khi map thành object sẽ được push lên 1 con queue "Upsert", hoặc nếu loop xong sẽ gửi 1 message dạng "ending: job_id" vào "Upsert"lambda khác sẽ lắng nghe cái queue "Upsert" và lấy từng object về để tiến hành update/insert vào db, nếu là các message dạng "starting", "ending" thì gửi thẳng qua queue "Success"Nếu object nào được update/insert thành công thì vào queue "Success" còn ngược lại thì vào "Failed".json chứa (failed_products: [] và success_products: []).Lúc đầu e tính là để con lambda consumer là single instance thì khi đó mọi thứ sẽ được đồng bộ với nhau, chắc chắn con lambda producer sẽ nhận được các message: [starting_job_id, ..., product, product, ..., ending_job_id] theo thứ tự. Nhưng mà manager bảo e là có thể spin up nhiều instance của con consumer để scale + xử lý nhanh hơn.Nếu lúc này có nhiều instance của lambda consumer thì</div>