Эта страница переведена с английского языковой моделью. При любом расхождении верен английский оригинал.
Темы
Тема Pub/Sub передаёт каждое сообщение всем подпискам на неё, а подписчики одной подписки делят её сообщения между собой.
Схема текстом
- Подписка billing: Подписчик 1: сообщения 1 и 3; Подписчик 2: сообщение 2
- Подписка audit: Один подписчик: сообщения 1, 2, 3
- Издатель → Тема orders: публикует
- Тема orders → Подписка billing: каждое сообщение
- Тема orders → Подписка audit: каждое сообщение
- Подписка хранит сообщение, пока его не подтвердят или пока не истечёт срок хранения, с подписчиком или без
Издатель называет тему и ничего больше. Подписка - самостоятельный ресурс, привязанный ровно к одной теме. У темы может быть много подписок.
Подписка получает сообщения, которые опубликованы в её тему после того, как она создана. Каждая подписка получает собственную копию каждого сообщения, поэтому billing и audit никогда не забирают сообщения друг у друга.
Подписчики одной подписки делят её сообщения: каждый получает свою часть, и никакие два не получают одну и ту же. Новый подписчик подписки распределяет её нагрузку. Новая подписка добавляет ещё одного читателя всех сообщений.
В ruststream-gcp-pubsub обработчик называет подписку, которую читает, через
GooglePubSub или простым именем, а издатель называет
тему, в которую пишет. Эта модель взята у Google
(обзор подписок,
основы Pub/Sub). Как подписчик держит
сообщение, пока работает с ним, показывает страница Аренда.