【问题标题】:Is it possible to disable the Subscriber need for the acknowledgement message?是否可以禁用订阅者对确认消息的需求?
【发布时间】:2020-07-14 21:22:21
【问题描述】:

我想知道,当您推送特定消息时,是否有办法禁止 Google Pub/Sub 接收来自订阅者的确认消息?如果消息以某种方式丢失或订阅者未收到消息,请将 Google PubSub 配置为不发送或尝试发送相同的消息以避免重复。这可能吗?

【问题讨论】:

    标签: google-cloud-pubsub


    【解决方案1】:

    这是不可能的,不。如果没有确认,Cloud Pub/Sub 无法保证至少一次交付,这是服务的核心属性。一种选择是始终在收到消息后立即确认,甚至在处理它之前。但是,这确实意味着如果您的订阅者在确认消息后但在处理之前重新启动,您可能会丢失消息。

    【讨论】:

    • Kamal 嗨,谢谢你的回答!!!当您提到“总是在收到消息后立即确认消息”时,您的意思是在 google pub/sub 订阅者中发送消息?订阅者在发送消息之前会自动确认消息吗?如果有几条消息丢失了也没关系
    • 我的意思是在实例化时传递给订阅者客户端的回调(假设您使用的是 Pub/Sub 客户端库之一)。 Cloud Pub/Sub 中没有自动确认功能,因此您可以让消息处理程序的第一行成为您刚刚收到的消息的确认。
    • 换个角度想,如果我配置你会怎么想: 1) Google Pub/Sub Subscriber 尝试重新发送没有收到确认消息的消息的时间段?例如,第一次尝试 96 小时后? 2) 在同一个订阅者中创建一个 seek 功能,让我可以搜索和查找 48 小时后没有收到确认消息的消息并释放或删除这些消息?
    • 您的意思是使用重试策略在 96 小时后传递失败的消息?这似乎是等待尝试重新传递消息的极端时间。对于 2,“创建搜索功能”是什么意思?您的意思是使用 Pub/Sub 的搜索功能?
    猜你喜欢
    • 2021-12-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-05-01
    • 2011-04-17
    • 2014-02-07
    • 1970-01-01
    • 2019-08-03
    相关资源
    最近更新 更多