NVIDIA 初创加速计划,免费加速您的创业启动 了解详情
写点什么

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

评论

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

活动报名|AutoMQ x 阿里云云原生创新论坛(2024.03.09)见证“新一代云原生 Kafka ”重磅发布!

AutoMQ

kafka 阿里云 云原生 论坛

AI加速“应用现代化”,金融核心系统转型正当时

华为云开发者联盟

云计算 华为云 华为云开发者联盟 华为云CodeArts 华为云盘古大模型

Apps分类:深度解析多维度标准与应用领域

天津汇柏科技有限公司

创业 软件开发 小程序开发 app定制开发 软件开发定制

StarkNet新手入门教程:教你用bitget 钱包入门

股市老人

C++中的const成员变量和成员函数

百度搜索:蓝易云

c++ Linux 运维 云服务器 const

喜报|3DCAT成为国内首批适配Vision Pro内容开发者

3DCAT实时渲染

实时云渲染

Java 枚举(Enums)解析:提高代码可读性与易维护性

小万哥

Java 程序人生 编程语言 软件工程 后端开发

在k8s中用label控制Pod部署到指定的node上

百度搜索:蓝易云

云计算 Linux Kubernetes 运维 云服务器

SAAS系统建站的优势是什么

百度搜索:蓝易云

云计算 Linux 运维 SaaS 云服务器

【案例分析】一个小型数据管理系统

贺公子之数据科学与艺术

StarkNet新手入门教程:教你用bitget 钱包入门

大瞿科技

Anthropic Claude 3 Sonnet 基础模型现已登陆 Amazon Bedrock

亚马逊云科技 (Amazon Web Services)

生成式人工智能

Amazon Bedrock 上的新一代 Anthropic 模型 Claude 3

亚马逊云科技 (Amazon Web Services)

生成式人工智能

让运维无忧,实战解析巡检报告功能实现方案

袋鼠云数栈

大数据 运维 大数据运维 巡检报告

【论文速读】 | AI驱动修复:漏洞自动化修复的未来

云起无垠

ChatGPT 新增朗读功能;微软 Win11 鼠标悬停自动打开 Copilot 丨 RTE 开发者日报 Vol.158

声网

上云还是下云,最大挑战是什么?对话章文嵩、毕玄、王小瑞

AutoMQ

阿里云 云原生 上云 云上架构

技术管理者如何避免被裁掉(2)

芃篙君

管理

更无缝地管理 API 访问

Gingxing

kong API网关 Kong 网关 消息网关 Kong Gateway

文本溢出解决text-overflow: ellipsis;不生效的问题

百度搜索:蓝易云

云计算 Linux 运维 云服务器 ECS

小程序管理平台,企业研发效能提升利器

FinFish

小程序管理平台 小程序管理 小程序开发平台

Starknet 最好的钱包是什么?

BlockChain先知

马斯克和OpenAI:分手,不要体面

脑极体

AI

用几张图实战讲解MySQL主从复制

华为云开发者联盟

后端 开发 华为云 华为云开发者联盟

Linux网络配置文件:MAC,UUID,设备名,子网掩码,网关,DNS等底层结构、架构图,工作原理 ,使用场景详解

百度搜索:蓝易云

Linux 运维 Mac DNS 云服务器

QCN9274/WiFi 7: Exploring the cornerstone of the next generation of digital life

wallysSK

NFTScan :什么是 ERC-404?深入解读 NFT 协议的未来

NFT Research

ERC20 NFT ERC721 NFTScan

StarkNet新手入门教程:教你用bitget 钱包入门

石头财经

《操作系统导论》PDF

程序员李木子

aigo发布“国民好物合创工程” 携京东、HICOOL助力中小微企业走向科技发展之路

ToB行业头条

Apollo配置中心介绍

百度搜索:蓝易云

云计算 Linux 运维 云服务器 Apollo

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