2016-01-08 23 views

Trả lời

2

Tôi giả định rằng sẽ cần phải xử lý các mục hàng đợi [các thực thể] sau khi thao tác lọc hoàn tất. Mặc dù nhiều hàng đợi chắc chắn có thể giúp ích, nhưng cách mạnh mẽ hơn là thực hiện quá trình xử lý trước, sau đó có một [như lọc theo id người gửi] theo cách của tôi một cách thanh lịch.

Với việc phát hành AWS Lambda, bạn chắc chắn có thể tắt bộ lọc hoặc xử lý trước và sau đó đẩy/đặt nó ở những nơi thích hợp.

Nếu bạn có người dùng đẩy các mục vào Hàng đợi, hãy thử cách tiếp cận dưới đây.

Bạn có thể thử với 2 hàm Lambda [Feeder & Worker].

Feeder sẽ scheduled lambda function có nhiệm vụ lấy mục từ SQS (nếu có) và đẩy nó như là một chủ đề SNS (và tiếp tục làm việc đó mãi mãi)

Worker sẽ được liên kết với nghe chủ đề SNS sẽ thực hiện data filtering [tùy thuộc vào ID người gửi]. Các mục đã qua có thể di chuyển đến hàng đợi hoàn toàn mới và phần còn lại có thể bị xóa.

Cách tốt hơn là để người dùng của bạn đẩy các thực thể trực tiếp đến chủ đề SNS và hàm lambda có thể thực hiện lọc trực tiếp.

7

Không, bạn không thể lọc thư của mình nhận được yêu cầu trên người gửi, bạn sẽ cần phải đọc tất cả các thư và 'ném ra' (trả lại) thư không khớp, nhưng đó không phải là cách tốt nhất để đi về nó - bạn sẽ được trả tiền cho tất cả những yêu cầu đọc và ném ra rất nhiều tin nhắn (tức là trả lại chúng vào hàng đợi).

Trong khi tất cả người tiêu dùng 'sai' đang làm điều này, người tiêu dùng thực sự muốn/cần thư được gán cho họ sẽ bị chặn thực sự nhận được thư của riêng họ - có thể trong một thời gian rất dài.

Không chắc chắn ý định của bạn, nhưng có vẻ như bạn nên sử dụng nhiều hàng đợi, mỗi người gửi, nếu đó là cách bạn muốn tiêu thụ tin nhắn - không có thêm chi phí để tạo thêm hàng đợi.

Các vấn đề liên quan