首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Spring集成的Spring Cloud GCP PubSub DLQ (死信队列)

使用Spring集成的Spring Cloud GCP PubSub DLQ (死信队列)
EN

Stack Overflow用户
提问于 2020-07-21 10:24:07
回答 1查看 484关注 0票数 1

我目前正在使用以下方法https://docs.spring.io/spring-cloud-gcp/docs/1.2.4.BUILD-SNAPSHOT/reference/html/#spring-integration集成PubSub

基本上,我订阅了一个主题,我收到消息并对其做一些事情。

我想,在我的业务规则出现任何错误的情况下(比如因为X,Y,Z原因而不接受消息),将其发送到dlq。

我看到就在一个半月前,谷歌推出了PubSub的DLQ:https://cloud.google.com/pubsub/docs/dead-letter-topics

但我不确定将其与spring集成方法集成的正确方式应该是什么。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-07-22 01:24:28

内置的DLQ支持将自动工作-您所要做的就是打开Dead setting (通过云控制台中的添加/编辑订阅屏幕),将"Maximum delivery attempts“字段设置为尝试次数。在您的应用程序nack()这一次消息后,云发布/订阅会将其重定向到您设置为DLQ的主题。

内置的支持对于导致消息传递失败的环境、可重试的原因非常有效。但是,在将消息发送到DLQ之前,它至少有5次重试。在业务规则验证的情况下,您可能更喜欢使用自定义主题和Spring Integration重定向来模拟DLQ,因为在尝试#1失败之后,消息不会突然变得有效,其余的尝试#2 - #5都是浪费资源。

要模拟在单个失败后重定向的DLQ,您可以创建一个新主题,我们将其命名为validation-dlq,将其连接为Spring Integration通道,对每条消息运行自定义验证检查,如果消息失败,则在源订阅上ack()原始消息,并将消息发布到validation-dlq主题。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63006446

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档