gpt4 book ai didi

amazon-web-services - AWS Lambda - 如何识别重复消息

转载 作者:行者123 更新时间:2023-12-04 15:57:53 26 4
gpt4 key购买 nike

由于 AWS Lambda 的几个触发器只能保证“至少一次”消息传递(QoS=1 的 SQS 和 IoT),我想知道识别重复消息并忽略它的最佳方法是什么。

我可以看到我目前收到了几条重复的消息,触发了我的 lambda 两次,结果导致噪音和无效数据。

在我的客户端中,我通过仅存储我已处理的消息 ID 列表来解决它,但在 Lambda 中,我无处可存储状态。

当然,我可以维护一个已处理消息 ID 的数据库表,但对我来说这似乎有点过分(并且可能会向 lambda 表达式添加额外的计费运行时间)。内存中一个简单的键/值存储服务就足够了。

你们还使用了哪些其他解决方案?

最佳答案

我知道您不想使用数据库,但 dynamodb 可以很好地处理这种事情。如果您有一些东西可以用作好的分区键,那么它的性能仍然会很高。它仍然会为您的 lambda 运行时间增加非常少量的时间,当然,您需要为您的 dynamodb 容量和数据付费。我成功地使用它来丢弃重复的消息。

另一件可能值得研究的事情是 elasticache,它有 memcached 和 redis 版本。这会更快 - 如果性能是特别关注的 - 但不像 DynamoDB 那样持久。

关于amazon-web-services - AWS Lambda - 如何识别重复消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51181597/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com