gpt4 book ai didi

google-cloud-platform - Pub/Sub - 无法提取未送达的消息

转载 作者:行者123 更新时间:2023-12-05 05:58:35 25 4
gpt4 key购买 nike

我公司的 Pub/Sub 有问题。我们的一些消息被卡住,并且最旧的未确认消息年龄随着时间的推移而增加。

1 日图表:

enter image description here enter image description here

当我转到指标资源管理器并选择Expired ack deadlines count时,这是一周图表。

enter image description here

我决定找出这些消息被卡住的原因,但是当我运行 pull 命令(如下)时,我得到了Listed 0 items 响应。因此无法看到它们。

有什么方法可以弄清楚为什么某些消息显示为未确认?

此外,Unacked messages count 显示整个月的相同数量(大约 2k)消息,即使每天都有新消息发布也是如此。

以下是我们用于此订阅的参数: enter image description here

我试图通过将截止日期设置为 600 秒来修复此错误,但没有帮助。

此外,我想提一下,我们使用 node.js Pub/Sub 客户端库来处理消息。

最佳答案

无法拉取消息的最常见原因是:

  1. 订户客户端已经收到消息并“忘记”了它们,这可能是由于抛出异常但未处理。在这种情况下,消息将继续由客户端租用,直到截止日期过去。客户端库都会自动延长租约,直到 maxExtension。时间到了。如果这些消息总是被遗忘,那么它们可能会被重新传送给订阅者并再次被遗忘,导致它们无法通过 gcloud 命令行工具或 UI 提取。
  2. 可能存在恶意订阅者。可能是另一个订阅者正在某处运行相同的订阅并且正在“窃取”这些消息。有时这可能是一项测试工作或早期用于查看订阅是否按预期工作并且没有被拒绝的东西。
  3. 您可能会遇到 large backlog of small messages 的情况.这应该在较新版本的客户端库中得到修复(Node 客户端的 v2.3.0 已修复)。
  4. gcloud pubsub subscription pull 命令和 UI 不能保证返回消息,即使有一些消息可供拉取也是如此。有时,快速连续多次重新运行命令有助于拉取消息。

您看到已过期的确认截止日期这一事实可能指向 1、2 或 3,因此值得检查这些内容。否则,你应该 open a support case这样工程师就可以更具体地查看积压并确定消息的位置。

关于google-cloud-platform - Pub/Sub - 无法提取未送达的消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68457939/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com