首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >AWS解决方案设计

AWS解决方案设计
EN

Stack Overflow用户
提问于 2019-09-17 16:02:49
回答 1查看 1.5K关注 0票数 2

问题陈述

非正式国家

我们有一些场景,其中集成层( AWS、SNS/SQS组件等的组合)。还负责向目标系统分发数据。这些主要是异步流。在这种情况下,我们向调用方发送确认,确认我们已经收到数据,并将负责数据传递。在这里,虽然数据不是来自集成层,我们仍然持有它,并需要确保数据不会丢失,例如,如果使用者停机,或者消息被错误地发送到DLQ,因此在保留期之后自动删除。

解决方案设计

目前,我的想法是根据CloudWatch配置的警报对SQS/DLQ队列进行备份,使用具有某些应用阈值的ApproximateAgeOfOldestMessage度量(如下所示):

如果

/消息保留>阈值,则ApproximateAgeOfOldestMessage Msg终止事件

现在,我更多地提出了这个想法,我更怀疑这是否真的是正确的…方法。

特别是,我希望构建一些可以“附加”到我们的SQS队列的不引人注目的东西,并转储某些存储库中即将过期的消息,比如AWS S3。然后有一个过程将消息从S3恢复到相同的原始队列。

上面的过程包含许多挑战,例如:消息标识和使用(接收消息不是设计为“查询”特定消息)、存储库中的消息转储(引用源队列)等等,这表明上述方法可能是一个复杂的过头处理方法。

尽管如此,我知道还有其他“替代方案”(如this),但是如果您能够回答上面描述的具体技术细节,,而不是试图挑战“需求”。,我将不胜感激。

EN

回答 1

Stack Overflow用户

发布于 2019-09-27 00:06:07

类似于Mark的建议,您可以使用suggestion (https://github.com/awslabs/amazon-sqs-java-extended-client-lib)通过S3 (配置旋钮:https://github.com/awslabs/amazon-sqs-java-extended-client-lib/blob/master/src/main/java/com/amazon/sqs/javamessaging/ExtendedClientConfiguration.java#L189)发送所有消息。

扩展客户端是AmazonSQS接口的替代器,因此它最大限度地减少了对业务逻辑的入侵--通常只是更改依赖项注入。

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

https://stackoverflow.com/questions/57978083

复制
相关文章

相似问题

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