#publish-subscribe #google-cloud-pubsub
#опубликовать-подписаться #google-cloud-pubsub
Вопрос:
Я работаю над проектом, который использует Google pub sub для передачи сообщений, я видел, что тема, созданная в pub sub, должна указывать регионы (если мы определяем несколько регионов, в сообщении будет сохранен только ближайший регион издателя). У меня есть вопрос по этому поводу.
- Существует ли какая-либо репликация между регионами для темы для хранения сообщения.
- Подписка также находится в любом регионе, созданном в теме.
Комментарии:
1. PubSub — это глобальный и бессерверный продукт. Вам не нужно беспокоиться о местоположении, репликации и так далее. У вас есть соглашения об уровне обслуживания, которые гарантируют вам уровень доверия к сервису. Если у вас есть требования или опасения по поводу конфиденциальности данных, вы можете определить регион для темы и подписки. До тех пор вы должны доверять сервису, репликации и его внутренней оптимизации (этого я не знаю!)
Ответ №1:
Cloud Pub / Sub — это глобальный сервис. Это означает, что темы и подписки не привязаны к определенному региону. Издатели могут публиковать сообщения в темах в любом регионе, а подписчики могут подключаться в любом регионе (том же или другом, что и издатели) и получать сообщения, опубликованные в теме, через подписки.
Возможность указывать регионы для хранения в облачном пабе / подразделе — это функция, называемая политикой хранения сообщений. Цель этой функции — позволить вам указать, в каких регионах сообщения могут или не могут храниться (хотя они все равно проходят через другие регионы, если подписчики подключены в этих других регионах). Это позволяет устанавливать ограничения на хранение данных, например, в соответствии с местными законами.
При использовании глобальной конечной точки Pub / Sub издатели и подписчики подключаются к ближайшему к сети региону для отправки или получения сообщений. При запуске издателей или подписчиков на GCP это означает, что они будут подключаться к региону, в котором расположены эти ресурсы. Если используются региональные конечные точки, то издатель или подписчик подключается к указанному региону. Однако даже при использовании региональных конечных точек служба остается глобальной, поскольку все сообщения, опубликованные в разных регионах по одной и той же теме, по-прежнему доступны подписчикам, использующим одну и ту же единую подписку, привязанную к этой теме.
Сообщения не реплицируются по регионам при публикации. Однако они реплицируются в три зоны внутри региона. Если подписчики находятся в другом регионе, чем были опубликованы сообщения, то Cloud Pub / Sub маршрутизирует сообщения по регионам, чтобы доставлять их подписчикам, где бы они ни находились в данный момент.
Комментарии:
1. Спасибо, Камал, за ваш ответ, но если какой-либо регион отключен по какой-либо причине, подписчик получит сообщение или нет.
2. У меня есть еще один вопрос: подписчик — это слушатель, который принимает сообщение, и не могли бы вы помочь мне понять подписку. Связана ли подписка с темой, также находится в том же регионе или подписка не относится ни к одному региону?
3. пожалуйста, внесите свой вклад в приведенные выше комментарии.
4. Как я уже сказал: «Это означает, что темы и подписки не привязаны к определенному региону». Если регион недоступен, подписчики в этом регионе могут не получать сообщения в течение этого времени. Любые сообщения, опубликованные в этом регионе, также могут быть временно недоступны. Если есть подписчики в других регионах и сообщения для использования из других регионов, то эти подписчики получат эти сообщения. Если нет, то потребление будет продолжено после резервного копирования региона.