QCon 演讲火热征集中,快来分享技术实践与洞见! 了解详情
写点什么

Amazon SQS 支持从死信队列重新生成消息

作者:Renato Losio

  • 2023-08-11
    北京
  • 本文字数:1125 字

    阅读完需:约 4 分钟

Amazon SQS支持从死信队列重新生成消息

亚马逊云科技最近宣布在SQS中支持使用AWS SDK或命令行接口进行死信队列的重驱动。新功能允许开发人员将未消费的消息从死信队列中移出并转移回其源队列。


当出现错误时,SQS 会将未消费的消息转移至死信队列(dead-letter queue,DLQ),从而能够让开发人员探查未成功消费的消息并调试应用程序的故障。亚马逊云科技的开发人员倡导者Sébastien Stormacq解释到:


每当消费者应用捡取一个要处理的消息时,消息的接收计数就会加 1。当 ReceiveCount > maxReceiveCount 时,Amazon SQS 会将消息移动到指定的 DLQ 中,供人工分析和调试。我们通常会将警报与 DLQ 关联起来,以便于在这种情况发生时发送通知。


在失败的消息调试完成或消费者应用能够消费它时,新的重驱动功能就会将消息移回源队列,从而能够在分布式系统中以编程的方式管理大规模未消费消息的生命周期。


过去,这只能通过在控制台手动处理才能实现。Ampt 公司的 CEO 兼创始人 Jeremy Daly 当时这样写到


这不是一个特性,这不是一个 API,而是一种只能在 AWS Console 中才能获取的“体验”。我想要它吗?想要!但是,我想登录 AWS Console 来使用它吗?绝对不想要!


要重新处理 DLQ 消息,开发人员可以使用如下的任务:StartMessageMoveTask 用于从死信队列启动新的消息移动任务;CancelMessageMoveTask 用于取消消息移动任务;ListMessageMoveTasks 用于获取特定源队列最近的消息移动任务(最多 10 个)。


社区对这项特性给出了积极的反馈,MUSIC Tribe 的云计算和平台主管 Tiago Barbosa评论说:


这是一个很好的改进。我一直不喜欢使用 DLQ,其中一个原因就是需要建立一种机制来重新处理最终出现在 DLQ 中的条目。


Curantis Solutions 的 CTO Benjamen Pyle撰写了一篇文章,介绍了如何使用 Golang 和 Step Functions 来重新驱动消息


在 DLQ 的配置中,可以使用自定义目的地选项的 ARN 来指定将消息发送回源队列还是其他队列。PostNL 首席工程师、AWS Serverless Hero Luc van Donkersgoed 在推特上写到:


如果能重新驱动到原始队列就好了。这一点非常棒,因为它允许我们指定任意的目标队列。这使得以前完成此项任务的 Lambda Functions 瞬间化为乌有。


文档强调了一些限制:SQS 仅支持标准队列的死信队列的重新驱动,不支持在重新生成它们时过滤和修改消息。除此之外,一个 DLQ 重新驱动任务最多可运行 36 小时,每个账户最多可以有 100 个活跃的重新驱动任务。有些开发人员质疑其缺少对Step Functions的支持


SQS 不会自动创建 DLQ,队列必须在接收到未消费的消息之前进行创建和配置。


原文链接:

Amazon SQS Supports Reprocessing Messages from Dead-Letter Queue


相关阅读:

大模型竞争突然升级!亚马逊CEO亲自监督、组建新的核心技术团队,集中优势资源打造“最具野心”的大语言模型

亚马逊云科技开源PBAC领域特定语言Cedar

2023-08-11 10:066897

评论

发布
暂无评论
发现更多内容

深入了解Appium:Capability 高级配置技巧解析

霍格沃兹测试开发学社

人工智能ChatGPT带你领略晋级之路

测吧(北京)科技有限公司

测试

即时通讯安全篇(十四):网络端口的安全防护技术实践

JackJiang

即时通讯;IM;网络编程

币安链市值机器人

区块链技术

ChatGPT4 Turbo 如何升级体验?官网如何使用最新版GPT-4 Turbo?

蓉蓉

GPT-4 Turbo

OpenTiny Vue 3.15.0 正式发布,推出全新的 Charts 图表组件底座,功能更强、图表更丰富!

OpenTiny社区

Vue Web 前端开发 开源组件库

Partisia Blockchain 生态首个zk跨链DEX现已上线

加密眼界

人工智能ChatGPT带你领略晋级之路

测试人

软件测试

降本增效,火山引擎ByteHouse助力短剧广告投放效率提升5倍

字节跳动数据平台

大数据 数据仓库 云原生 解决方案 短剧

低代码优于无代码?

禅道项目管理

软件开发 低代码 知识分享 无代码 开发人员

如何更好地导入Scrum?

敏捷开发

Scrum 敏捷开发 企业管理 软件研发 敏捷转型

百舸实践之「埋点数据深度治理与应用」 | 京东云技术团队

京东科技开发者

技术同学的职场成长晋升指南

老张

职场成长 职场晋升

多优先级线程池实践

FunTester

淘宝搜索API返回值解析与关键字搜索背后的数据逻辑

技术冰糖葫芦

API Explorer API boy API】 pinduoduo API

从0到1:商场导览小程序开发笔记一

CC同学

NFTScan | 04.29~05.04 NFT 市场热点汇总

NFT Research

NFT NFTScan

Partisia Blockchain 生态首个zk跨链DEX现已上线

大瞿科技

Amazon SQS支持从死信队列重新生成消息_Serverless_InfoQ精选文章