首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >对接收相同消息的多个消费者使用Amazon

对接收相同消息的多个消费者使用Amazon
EN

Stack Overflow用户
提问于 2018-11-29 10:55:43
回答 2查看 6.4K关注 0票数 3

我有一个主应用程序将消息发送到SQS队列,并希望4个使用者应用程序使用相同的消息并处理它们想要的消息。

我不知道有甚麽排队架构可作此用途。

我看到了标准SQS、SQS、(SQS + SNSTopic)和Kensis的选项。

对于我想要的功能,似乎要么是(SQS + SNS主题),要么是肯尼斯

但是我也有一个关于标准SQS和SQS的问题--如果我使用SQS或标准SQS,难道所有的消费者都不可能得到相同的消息吗?

我想我对所有选项感到困惑,对队列中所有可用的信息感到不知所措,但仍然对选择哪种体系结构感到困惑。

主要的信息来源是Amazon和https://www.schibsted.pl/blog/choosing-best-aws-messaging-service/

我在堆栈溢出中遇到的一些问题:

1这篇文章回答了在队列中使用多个消费者的问题,但不确定它是否解决了多个消费者使用的相同消息的问题。

2这个回答了为什么凯尼西可以被用于我的场景

信息我使用这篇文章只是为了理解不同之处

我真的很想在这方面提供一些帮助。我正试着尽可能多地阅读,但如果有人能帮我做出正确的决定,我会非常感激的。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-11-29 12:08:41

根据您的用例,SNS似乎是一个很好的选择,但是如果您想要持久化消息,您可以在SNS中使用SQS。

票数 2
EN

Stack Overflow用户

发布于 2018-12-05 00:01:46

这看起来是SNS-SQS扇出通知的一个完美的用例--消息被发送到一个SNS " topic ",而SNS将把它传递到多个被“订阅”到该主题的SQS队列。

一些注意事项:

  • 每个消费者应用程序(连接到一个队列)都将以自己的速度使用--这意味着有可能出现一个或多个“落后”。一般来说,只要消费者是独立的--队列充当缓冲区,因此不会丢失任何信息,这应该是可以的。
  • --如果您需要它们同步,那么这是行不通的--您应该只使用单个队列,并使用一个进程来同步轮询队列并将消息传递给每个应用程序。
  • 您可以使用Kinesis执行类似的逻辑(它是为具有多个使用者而构建的),但是除非您处理的是非常大的消息量,否则额外的开发复杂性和成本通常是不值得的。
    • 按数据量(兆字节)计算动态账单,而按消息计数计算SQS账单-为用例做数学计算。

不要担心SQS,除非您需要它为订单提供的保证。普通的SQS已经被粗略地排序了,并且对于大多数用例来说都足够了。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53537413

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档