簡體   English   中英

使用哪個 aws 消息服務

[英]Which aws messaging service to use

我正在做一個需要處理消息的項目。 現在,每條消息都與具有唯一 consumerId 的消費者相關聯。 我的要求是我希望一個唯一的 consumerId 的所有消息都被一一處理。 即對於給定的consumerId,只有一個消費者應該處理消息。

aws 是否提供任何滿足我條件的消息傳遞服務?

這聽起來像是 Amazon Kinesis Data Stream 的良好使用模式。

可以為 Kinesis Data Stream 分配多個分片 將每個分片視為一個單獨的消息隊列,其中每條消息都按接收順序保存。

將消息發送到 Kinesis Data Stream 時,您需要提供一個經過哈希處理的分區鍵,然后用於確定將消息發送到哪個分片。 如果您只有一個分片,則所有消息 go 都會進入該分片。 如果您有 10 個分片,那么只要分區鍵有足夠的多樣性,消息就會被分配到最多 10 個隊列。

然后可以使用您自己的工作人員(例如在 Amazon EC2 實例上運行)使用這些消息,或者 stream 可以自動觸發AWS Lambda 功能

這是相關位的來源......您的工作人員(或 Lambda 函數)將一次處理來自給定 shard 的一條消息 只有當該消息被處理后,它才會從同一個分片中拉出另一條消息。 這意味着來自同一個consumerId (由 Partition Key 指示)的消息將始終按照它們到達的順序進行處理。

可以將其想象為人們被分配到Bank 中的隊列,其中隊列按名稱(AK,LZ)分配。 使用此方法,一個人將始終被發送到同一個隊列,每個隊列將僅由一名銀行櫃員處理。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM