【问题标题】:Multiple subscriptions to a topic多个订阅一个主题
【发布时间】:2018-11-14 21:32:23
【问题描述】:

我一直在使用 pubsub 进行一些异步工作,并且想知道为什么有人可以为单个主题创建多个订阅。我的默认值如下:

project_id = 'project'
topic_name = 'app'
subscription_name = 'general'

实际功能的路由——以及如何处理它——正在subscriber接收器本身中进行。

会有各种订阅名称的原因是什么?我唯一能想到的就是将物品分散到多个服务器上进行处理,例如:

server1 -- `main-1`
server2 -- `main-2`
etc.

是否还有其他原因导致订阅名称不能很好地与一个值一起使用?

【问题讨论】:

    标签: redis rabbitmq message-queue publish-subscribe google-cloud-pubsub


    【解决方案1】:

    一般来说,拥有多个订阅者有两种范式:

    1. 负载平衡:目标是通过让多个订阅者使用同一订阅来并行处理负载。在这种情况下,每个订阅者都会收到消息的一个子集。可以通过为同一订阅创建更多订阅者来横向扩展处理。

    2. 扇出:目标是让多个订阅者接收整个消息源。这是通过拥有多个订阅来实现的。扇出的原因是如果有多个下游应用程序对消息的完整馈送感兴趣。想象有一个提要,其中消息是购物网站上的用户事件。也许一个应用程序将数据备份到文件中,另一个应用程序分析提要以了解人们正在查看的趋势,而另一个应用程序则通过活动来寻找潜在的欺诈性交易。在这种情况下,作为订阅者的每一个应用程序都需要完整的消息源,这需要单独的订阅。

    【讨论】:

      猜你喜欢
      • 2021-10-14
      • 2014-01-21
      • 1970-01-01
      • 2014-04-22
      • 1970-01-01
      • 1970-01-01
      • 2021-08-24
      • 2011-07-10
      • 1970-01-01
      相关资源
      最近更新 更多