Реплицирует ли AWS SQS сообщения по регионам?

#amazon-web-services #amazon-sqs #distributed-computing

#amazon-веб-сервисы #amazon-sqs #распределенные вычисления

Вопрос:

Поскольку SQS является распределенной очередью, реплицирует ли он сообщения в том же регионе или в другом регионе? Рассматривая архитектуру в документах AWS, она показывает, что сообщение реплицируется, но реплицируется ли оно в том же регионе или в разных регионах?

Пример использования:

Я настраиваю очередь в регионе X , но к ней можно получить доступ в регионе на другом конце света. Итак, если есть два работника, один из которых работает в регионе X , а другой в регионе Y , получают ли оба данные из одной и той же X очереди регионов или это может быть регион X , а регион Y получает данные из ближайшего к ним региона.

Например X , получил сообщение из региона X , и до того, как эта информация попадет Y в очередь обновления региона, другой работник возьмет из реплицированной Y очереди региона и прочитает то же сообщение.

P.S: — Я знаю SQS, по крайней мере, в семантике once. Но я хочу знать семантику в приведенном выше примере использования.

Ответ №1:

SQS — это региональный сервис, который высокодоступен в пределах одного региона. Возможности межрегиональной репликации отсутствуют. Вы определенно можете получить доступ к очереди из разных регионов, просто инициализируйте sqs клиент с правильным регионом назначения.

Ответ №2:

Как стандартная практика для служб AWS, данные хранятся в регионе, в котором вы создаете службу.

Существуют исключения, но для их разрешения вам как пользователю потребуется выполнить действие, например, скопировать AMI или включить репликацию S3.

Если очередь используется в нескольких регионах, она всегда будет обращаться к региональной конечной точке очереди SQS, а не к конечной точке текущего региона.

Поскольку SQS — это служба очередей, если у вас есть работники, распределенные по регионам, существует вероятность того, что элемент удаляется из очереди и обрабатывается в одном регионе (хотя точное определение будет заключаться в том, что он доставляется хотя бы один раз).

Если вы пытаетесь использовать сообщение в нескольких регионах, было бы лучше рассмотреть подход, основанный на разветвлении, при котором работники каждого региона будут использовать свою очередь SQS, а не использовать ее совместно.

Для получения дополнительной информации ознакомьтесь с https://aws.amazon.com/getting-started/hands-on/send-fanout-event-notifications / документация.