Несколько подписок на тему - PullRequest
0 голосов
/ 15 ноября 2018

Я использовал pubsub для небольшой асинхронной работы, и мне было интересно, почему кто-то может создать несколько подписок на одну тему.Мои значения по умолчанию следующие:

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

Маршрутизация фактической функции - и как ее обрабатывать - выполняется в самом приемнике subscriber.

Что быбыть причины, по которым будут разные подписки?Единственное, о чем я могу подумать, это распределить элементы по нескольким серверам для обработки, например:

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

Существуют ли другие причины, по которым имя подписки может не работать с одним значением?

1 Ответ

0 голосов
/ 15 ноября 2018

В целом, существует две парадигмы для нескольких подписчиков:

  1. Балансировка нагрузки: цель состоит в том, чтобы распараллелить обработку нагрузки, используя несколько подписчиков, использующих одну и ту же подписку. В этом сценарии каждый подписчик получает подмножество сообщений. Можно обрабатывать обработку по горизонтали, создавая больше подписчиков для одной и той же подписки.

  2. Разветвление: цель состоит в том, чтобы несколько подписчиков получали весь поток сообщений. Это достигается наличием нескольких подписок. Причина, по которой нужно разветвляться, заключается в том, что есть несколько нижестоящих приложений, заинтересованных в полной подаче сообщений. Представьте, что есть канал, где сообщения представляют собой пользовательские события на веб-сайте покупок. Возможно, одно приложение выполняет резервное копирование данных в файлы, другое анализирует поток данных о тенденциях в том, на что смотрят люди, а другое просматривает действия, чтобы попытаться найти потенциально мошеннические транзакции. В этом сценарии каждому приложению, действующему в качестве подписчика, требуется полный поток сообщений, для которого требуются отдельные подписки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...