写点什么

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

评论

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

OpenHarmony统一互联PMC启动孵化

科技热闻

第三届OpenHarmony技术大会发布年度课题并表彰领航课题

科技热闻

Springboot --- 使用国内的 AI 大模型 对话

快乐非自愿限量之名

Python 人工智能 Spring Boot

2024 荣耀开发者大会,报名开启!

荣耀开发者服务平台

行业资讯 开发者大会 新版本/特性发布 荣耀 AI Agent

openai chatgpt 大语言模型

霍格沃兹测试开发学社

ERP系统是什么?ERP系统如何与数据库对接?

RestCloud

数据挖掘 数据库 数据同步 ETL ERP

01.单例模式设计思想

杨充

《京东金融APP的鸿蒙之旅系列专题》鸿蒙工程化:Hvigor构建技术

京东科技开发者

Web3 游戏周报(10.06 - 10.12)

Footprint Analytics

链游

Swarm 框架登场:OpenAI 第 3 阶段「敲门砖」;马斯克的 Teslabot 实际有人远程操控丨 RTE 开发者日报

声网

深度解析淘宝商品评论API返回值:评价热度与关注度

代码忍者

pinduoduo API API 性能测试

第三届OpenHarmony技术大会星光璀璨,致谢社区贡献者

科技热闻

不起眼的错误参数导致remote-debugging-port不生效

LLLibra146

chrome macos Python 3.12

用PyTorch, Profiler和TensorBoard优化AI训练性能

王玉川

profiler 性能调优 PyTorch tensorboard AI模型训练

“OpenHarmony开发者激励计划”授牌仪式圆满举行

科技热闻

《京东金融APP的鸿蒙之旅系列专题》新特性篇:意图框架接入

京东科技开发者

技术干货|热门仿真平台HyperMesh CFD功能详解:几何和网格(Part 2)

Altair RapidMiner

仿真 altair Hypermesh CFD

为什么线下面试越来越流行了?

王磊

基于Web组件的可视化地图开发平台的设计与实现

快乐非自愿限量之名

Go 语言基准测试入门

FunTester

【MM2024】阿里云 PAI 团队图像编辑算法论文入选 MM2024

阿里云大数据AI技术

人工智能 阿里云 论文 图像编辑 MM2024

信通院发布第七批“可信AI”评测,望繁信科技获最高评级!

望繁信科技

数字化转型 流程挖掘 流程资产 流程智能 望繁信科技

【稳定性】稳定性建设之变更管理

京东科技开发者

Spring 实现 3 种异步流式接口,干掉接口超时烦恼

程序员小富

Java spring 异步设计

MPI高性能计算和集合通信编程

王玉川

HPC 集合通信 高性能计算

什么是数据治理?我国与新加坡的数据治理有何异同

郑州埃文科技

数据治理

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