【问题标题】:Google Pub/Sub with Push Consumers带有推送消费者的 Google Pub/Sub
【发布时间】:2019-12-04 15:11:41
【问题描述】:

我们想使用 Google pub/sub 来消费消息。在 rabbitMQ 中,每当发布消息时,我们都会获取并处理它。我们的流程操作需要 3-4 小时,因此我们的消费者是 Windows 服务。

我们不想使用 pub/sub pull 因为我们不想投票。但是 Pub/sub 将发布推送到 Web 端点。由于我们长期运行的过程,我们不能使用 web 应用程序或 web api。有没有机会像在 rabbitmq 中一样消费 pub/sub 消息而不总是请求并且仅在有消息时消费。

谢谢

【问题讨论】:

  • 我没有跟上这个谜题。当你说你不想投票时,你能澄清一下你的意思吗?我正在想象一个订阅者应用程序,当有新消息可用时它会收到通知。投票在哪里?
  • @Kolban 在 google pub/sub 上有两种选择。拉或推。拉取是一次性请求。要获得新人消息,总是必须在一个循环中通过拉取请求进行询问。 Push 无需询问即可立即发送,但它需要一个 Web 端点。我的操作是一个漫长的过程,无法在 web 应用中完成。
  • 您使用什么编程语言?当我看这里时...cloud.google.com/pubsub/docs/pull 我似乎发现对于许多语言,当有新消息可用时,注册一个回调函数将被调用。对我来说,这意味着我的逻辑开始,然后识别特定的订阅并注册一个回调函数。那时,不需要进一步明确的“轮询”......当发布新消息时,我的应用“简单地”接收新消息。
  • @Kolban 我正在使用 c#,但我认为文档误导了我(在 cloud.google.com/pubsub/docs/subscriber 中,它告诉“订阅应用程序显式调用 pull 方法,它请求传递消息。”)我使用订阅者服务ApiClient.PullAsync。但是您的示例按预期工作。我不知道它是否会多次隐式调用 pullasync,但至少我不必这样做。非常感谢。

标签: c# google-cloud-platform rabbitmq google-cloud-pubsub


【解决方案1】:

Google Pub Sub 技术不需要持续明确地轮询 PubSub 环境。如果使用客户端库,则可以在客户端应用程序中配置回调函数,当新消息发布到已订阅的主题时调用该回调函数。

【讨论】:

    猜你喜欢
    • 2019-10-09
    • 2023-04-02
    • 2021-07-09
    • 2020-02-03
    • 2011-11-04
    • 2020-09-03
    • 2017-09-12
    • 2016-08-28
    • 2015-10-14
    相关资源
    最近更新 更多