【问题标题】:Ways to implement Google Pub Sub实现 Google Pub Sub 的方法
【发布时间】:2021-10-21 02:04:24
【问题描述】:

我发现了这 3 种使用 Google Pub Sub 实现消息传递的方法:

  1. 与客户端库 https://cloud.google.com/pubsub/docs/publisher

  2. 使用 spring 集成消息通道和 PubSubTemplate API https://dzone.com/articles/spring-boot-and-gcp-cloud-pubsub

  3. 没有消息通道但有 PubSubTemplate API https://medium.com/bb-tutorials-and-thoughts/gcp-how-to-subscribe-and-send-pubsub-messages-in-spring-boot-app-b27e2e8863e3

我想了解它们之间的区别/何时最适合使用它们以及哪些对我的情况有用。

我必须实现一个主题和一个订阅才能获得队列功能。如果不需要,我想我宁愿不使用 Spring 消息通道,它们似乎是 Pub Sub 主题和订阅之间的通信媒介,我不希望这样。我希望事情简单,所以我认为选项 3 是最好的,但我也想知道选项 1。

【问题讨论】:

  • 请尽量避免在 stackoverflow 上提出固执己见的问题。请关注此link,了解如何提出问题以及哪些type 问题应避免在stackoverflow 上提问,以避免问题被标记。

标签: java spring spring-boot messaging google-cloud-pubsub


【解决方案1】:

Google Cloud Pub/Sub Using Client Libraries

  • 将 Google Cloud Pub/Sub 与客户端库结合使用是实现 Cloud Pub/Sub 的标准且最简单的方法之一。
  • 数据的生产者将消息发布到 Pub/Sub 主题,然后订阅者客户端创建对该主题的订阅并使用消息。
  • 您需要安装客户端库。您可以关注this 设置和教程以获取更多信息。
  • 这里不需要 Spring 集成,可以直接使用客户端库发布消息并从订阅中拉取。

Spring Integration using spring channels

  • 此用例涉及使用 Spring Integration 将 Spring Boot 应用程序与 Google Cloud Pub/Sub 密集集成以发送和接收 Pub/Sub 消息。 IE。 Pub/Sub 充当中间消息传递系统
  • 这里 Spring 应用程序使用 spring 通道向 Cloud Pub/Sub 主题发送消息,应用程序进一步通过这些通道从 Pub/Sub 接收消息。

Pub/Sub message in Spring-Boot App

  • 此用例是将 Cloud Pub/Sub 与 Spring Boot 应用程序集成的简单有效示例。
  • 用例演示了如何使用 Spring Boot Application 订阅订阅并向主题发送消息
  • 消息发布到主题,在相应订阅中排队,然后由订阅者 Spring Boot 应用程序接收

【讨论】:

    【解决方案2】:

    选项 1,客户端库,是通用的。你不需要 Spring 来运行它,你可以在 Groovy 或 Kotlin 中使用这个库。

    选项 2,它与 Spring 深度集成。它是完全不可见的,但如果你有特殊的事情要做,重写这个实现是很棘手的

    选项 3,它是轻量级弹簧集成。 PubSubTemplate(实际上是客户端)在启动时会自动为您加载,就像任何 bean 一样,您可以在代码中轻松使用它。这是我使用 Spring 时的首选。

    【讨论】:

      猜你喜欢
      • 2017-11-27
      • 1970-01-01
      • 2023-04-04
      • 2012-04-28
      • 2017-05-12
      • 2022-01-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多