wan*_*ngt 5 amazon-sqs amazon-web-services amazon-kinesis
我知道网上有很多关于这个问题的材料,但是我还没有找到任何可以向我这样的菜鸟解释清楚这个问题的材料......如果有人能帮助我理解这两种服务之间的主要区别,不胜感激用例与现实生活中的例子。谢谢!
Amazon SQS是一个队列。基本流程是:
因此,一旦消息被处理,它就会被删除。
在Amazon Kinesis 中,一条消息被发送到一个流。流被分成碎片(将它们视为迷你流)。收到消息后,Kinesis 会按顺序存储消息。然后,工作人员可以从流的开头或从流中的特定位置请求消息。例如,如果它已经处理了 5 条消息,它可以请求第 6 条消息。消息在流中保留一段时间(例如 24 小时)。
我喜欢把它想象成一个电影片段——电影中的每一帧都井井有条。您可以从头开始播放一部电影,也可以快进到中间并从那里开始播放。此外,您可以倒带到较早的部分并观看它。Kinesis 流也是如此,多个使用者可以同时从流的各个部分读取。
那么,该选择哪个?
这篇文章总结得很好,我认为:
https://sookocheff.com/post/aws/comparing-kinesis-and-sqs/
但基本上,如果您不知道需要哪一个,请从 SQS 开始,直到它无法满足您的要求为止。SQS 的设置和使用非常简单,几乎不需要任何经验就可以很好地使用它。
Kinesis 需要花费更多的时间和专业知识来设置和使用,因此除非您需要它,否则不要打扰 - 即使它可以用于许多与 SQS 相同的事情。
与 SQS 的一个很大的区别是,如果您有多个消费者从队列中读取数据,那么每个消费者只会看到他们消费的消息 - 因为其他消费者将被阻止看到它们;借助 Kinesis,许多消费者可以同时访问流,并且每个消费者都可以看到整个流 - 因此 SQS 非常适合承担大量任务并向许多消费者分发碎片以并行处理(除其他外) ),与 Kinesis 一样,多个使用者可以读取和查看整个流,并对流中的所有数据执行某些操作。
链接的文章比我解释得更好。
归档时间: |
|
查看次数: |
1113 次 |
最近记录: |