【发布时间】:2018-08-11 02:18:30
【问题描述】:
所以我有一个从生产者那里获取消息的 sqs 队列。 每条消息可以属于不同的所有者。
假设用户 A 进来并向生产者发送 1000 条消息,然后将其放入队列。现在用户 B 只带了 1 条消息。他必须等到消费者处理完来自用户 A 的所有 1000 个。
我怎样才能让拥有 1 条消息的用户 B 有与用户 A 大致相同的机会被消费者接下来处理?
我想为系统中的每个用户创建一个队列,但这意味着每次进行轮询时都要从每个用户中读取,这很昂贵。
我不希望有绝对的公平,大约公平就足够了。
【问题讨论】:
-
你只有一个消费者?
-
我有 1 个消费者,同时在大约 10 个 ec2 实例上运行。
-
我会说大约有 10 个消费者,不是吗?
-
对 sqs 还是个新手,所以我猜是 10 个消费者
标签: architecture message-queue amazon-sqs