Google Pub Sub的实现方式

3
我找到了三种使用Google Pub Sub实现消息传递的方式:
  1. 使用客户端库 https://cloud.google.com/pubsub/docs/publisher

  2. 使用Spring Integration消息通道和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

我想要了解它们之间的区别,以及何时使用哪种方式,以及对于我的情况哪种方式会更有用。
我需要实现单个Topic和单个Subscription以获取队列功能。如果不需要,我认为最好不使用Spring message channels,因为它们似乎会在Pub Sub主题和订阅之间中介通信,而我不希望出现这种情况。我想简单处理,所以我认为选项3可能是最佳选择,但我也想知道选项1。

请尽量避免在stackoverflow上提出带有个人观点的问题。请参考此链接(https://stackoverflow.com/help/how-to-ask)了解如何提问以及应避免在stackoverflow上提出哪些类型的问题,以避免问题被标记。 - Sakshi Gatyan
2个回答

1

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

选项2,它与Spring深度集成。它相当隐形,但如果您有特殊任务要执行,覆盖此实现就会很棘手。

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


1

使用客户端库的Google Cloud Pub/Sub :

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

使用Spring通道的Spring集成 :

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

在Spring Boot应用中使用Pub/Sub消息

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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接