AICon 上海站|日程100%上线,解锁Al未来! 了解详情
写点什么

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:067056

评论

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

专业私有化视频会议软件,WorkPlus Meet助力企业构建高效协作的沟通平台

BeeWorks

如何选择适合企业的移动应用管理平台?

BeeWorks

测试流程复现第二弹!IoTDB 在国际数据库性能测试排行榜结果如何?

Apache IoTDB

支持私有化部署的WorkPlus,助您构建定制化的即时通讯平台

BeeWorks

打造次世代分析型数据库(四):几十张表关联?小Case!

腾讯云大数据

数据库

公共卫生的未来:智慧公厕来了

光明源智慧厕所

智慧厕所 智慧公厕

基于低代码平台少量编码完成软件开发

互联网工科生

系统开发 低代码开发 JNPF

IM系统,WorkPlus如何成为企业即时通讯协作的首选?

BeeWorks

IM聊天系统

2023 Bonree ONE 秋季产品发布会:亮点抢先看!

博睿数据

运维 可观测性

企业沟通平台私有部署,让沟通更高效数据更安全

BeeWorks

袋鼠云代码检查服务,揭秘高质量代码背后的秘密

袋鼠云数栈

大数据 数据中台 代码检查

软件测试 | AI大模型应用开发实训营来啦~ 大模型学习资料免费领

测试人

人工智能 程序员 AI 软件测试 大数据模型

免费但很全能,Amazon CodeWhisperer 让编程更快

科技热闻

腾讯大牛耗时1个月整理的"JVM学习笔记"深入底层,面面俱到!

小小怪下士

Java JVM

基于Java+vue开发的企业级人力资源管理系统

金陵老街

低代码开发框架 助力企业打造新时代技术底座

力软低代码开发平台

兴业数金:基于悦数图数据库的智能大数据云平台获 “2023 IDC中国 未来企业大奖”

最新动态

腾讯云 Cloud Studio 实战训练营结营&活动获奖公示

CODING DevOps

2024工业皮带展|2024广州国际传输设备展会

秋硕展览

展会 输送装置

DeFi 集成:扩大加密货币交易平台开发的视野

区块链软件开发推广运营

交易所开发 dapp开发 链游开发 NFT开发 区块拉开发

2023-09-27:用go语言,在一个 n x n 的国际象棋棋盘上,一个骑士从单元格 (row, column) 开始, 并尝试进行 k 次移动。行和列是 从 0 开始 的,所以左上单元格是 (0

福大大架构师每日一题

福大大架构师每日一题

开辟ICT新视野 直通华为云专家:一堂华为云Astro低代码启蒙课 ——华为云HCSD校园沙龙之西安站

华为云PaaS服务小智

云计算 软件开发 低代码 华为云

重磅发布|博睿数据IT运维最佳实践白皮书

博睿数据

运维 可观测性 白皮书

Docker 入门教程(简明易懂、零基础篇)

程序员万金游

#运维 #后端 #docker

玩转 CODING 自动化助手,助力高效研发!

CODING DevOps

兼顾集群与个人实践环境,和鲸聚焦 AI4S 科研算力高效调度管理

ModelWhale

人工智能 算力 数据驱动 AI for Science 计算资源

产品解读 | 数据服务平台:KDP

KaiwuDB

一文教你理解Kafka offset

越长大越悲伤

kafka

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