Google Pub Sub 的实现方式

Ways to implement Google Pub Sub

我发现了这 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。

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

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

选项 3,它是一个 spring 集成。 PubSubTemplate(实际上是客户端)在启动时自动为您加载,就像任何 bean 一样,您可以在代码中轻松使用它。当我使用 Spring.

时,这是我的首选

Google Cloud Pub/Sub Using Client Libraries :

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

Spring Integration using spring channels :

  • 此用例涉及 Spring 引导应用程序与 Google 云 Pub/Sub 的密集集成,使用 Spring 集成来发送和接收 Pub/Sub 消息。 IE。 Pub/Sub 作为中间消息系统
  • 此处 Spring 应用程序利用 spring 通道向云 Pub/Sub 主题发送消息,应用程序进一步通过这些通道从 Pub/Sub 接收消息。

Pub/Sub message in Spring-Boot App :

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