HarmonyOS开发者限时福利来啦!最高10w+现金激励等你拿~ 了解详情
写点什么

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

评论

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

WebRtc学习之旅 —— 初认识

小驰笔记

gorm源码阅读之callback

Geek_7nijc5

Go 语言 gorm

EGG NETWORK阿凡提以“自由匿名竞价”流通市场EFTalk

币圈那点事

区块链电子印章签约平台的搭建,区块链电子签约解决方案

13828808769

区块链 #区块链#

百家号在线视频编辑器的技术演进

百度Geek说

大前端

源中瑞智慧平安社区--为平安生活助力

13530558032

区块链电子合同--赋能企业数字化转型

13530558032

大厂面试必问!Android彻底组件化方案实践方法!面试总结

欢喜学安卓

android 程序员 面试 移动开发

安卓开发从零开始!分析Android未来几年的发展前景,安卓系列学习进阶视频

欢喜学安卓

android 程序员 面试 移动开发

公安合作作战指挥中心,情报分析研判系统建设

2021阿里面试通关手册必备:5000字面经解析(技术/攻克)

比伯

Java 架构 面试 程序人生 计算机

WebRtc学习之旅 —— Android端应用开发

小驰笔记

区块链电子合同签署平台搭建,区块链电子存证解决方案

13828808769

区块链+ #区块链#

4K Video Downloader V6.1.50 版本正式发布

科技猫

产品 软件 行业资讯 开发日志 发布

4月日更挑战|初夏开更,新人领书

InfoQ写作社区官方

4月日更 热门活动

Java高级研发:2021阿里天猫、中间件、蚂蚁金服JD要求+面题答案

钟奕礼

Java 编程 程序员 架构 面试

美团点评高级1234面:算法+HashMap+Zookeeper+线程+Redis+kafka

钟奕礼

Java 编程 程序员 架构 面试

探索js让你的网页“自己开口说话”

云小梦

JavaScript 音视频 audioContext API

Golang 泛型浅析

D

开源 云原生 编译器 语言 Go 语言

朱嘉明:《量子时代和数字经济2.0 》推荐序

CECBC

数字经济

量化策略系统搭建,马丁策略交易软件

历史命令被黑客删除?教你实时备份

运维研习社

Linux 4月日更 服务器安全

大厂面试必须掌握的 Linux 性能优化题

倪朋飞

Linux 面试 性能优化

访问控制相关概念及常见模型

龙归科技

身份和访问管理

Redis-技术专题-数据日志持久化

洛神灬殇

redis 持久化 aof rdb

专科出身,2年进入苏宁,5年跳槽阿里,论我是怎么快速晋升的?

钟奕礼

Java 编程 程序员 架构 面试

架构培训作业

肖春

架构师训练营

DevEco Studio 2.1 Beta3强势来袭

Geek_283163

华为 鸿蒙 开发

Redis 期中测试

escray

redis 学习 极客时间 Redis 核心技术与实战 4月日更

gorm源码阅读之schema

Geek_7nijc5

Go 语言 gorm

区块链的创新技术给奢侈品行业带来了新的机会

CECBC

奢侈品

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