của Amazon Tôi đang tìm cách chuyển đổi một thư mục lớn các hình ảnh có độ phân giải cao (vài triệu) thành các hình thu nhỏ bằng cách sử dụng Python. Tôi có một bảng DynamoDB lưu trữ vị trí của mỗi hình ảnh trong S3.Viết một hàng đợi phân tán trong DynamoDB
Thay vì xử lý tất cả các hình ảnh này trên một trường hợp EC2 (sẽ mất vài tuần), tôi muốn viết một ứng dụng được phân phối bằng cách sử dụng một loạt các phiên bản.
Tôi có thể sử dụng các kỹ thuật nào để viết hàng đợi cho phép nút "kiểm tra" hình ảnh từ cơ sở dữ liệu, thay đổi kích thước và cập nhật cơ sở dữ liệu với kích thước mới của hình thu nhỏ được tạo?
Cụ thể là tôi lo lắng về nguyên tử và đồng thời - làm cách nào để ngăn hai nút kiểm tra cùng một công việc cùng lúc với DynamoDB?
DynamoDB là công cụ sai cho công việc. Quá trình này rất đơn giản w/SQS. 1.DynamoDB = LargeImageLocations> SQS; SQS = Process> n * EC2 = UpdateLocation> DynamoDB –
Câu "SQS có một cơ chế được xây dựng để ngăn chặn nhiều trường hợp đọc cùng một thông điệp" là một chút gây hiểu nhầm. Không có bảo đảm "một lần duy nhất". Tôi thấy bạn mô tả một giải pháp khóa với DynamoDB, nhưng tốt hơn loại bỏ câu lệnh trên. –
Lưu ý rằng SQS không tuân thủ HIPAA, vì vậy nstehr gợi ý có thể là giải pháp khả thi nếu bạn không được phép lưu trữ một số thông tin nhất định trong thông điệp SQS. –