0

Мне было интересно, смогу ли я получить помощь с Amazon SQS. В моем примере я пытаюсь настроить очередь на сервере A и запрашивать его с сервера B. Проблема, с которой я сталкиваюсь, заключается в том, что когда я создаю очередь на сервере A, она дает мне URL-адрес:Amazon SQS - Связь URL-адреса между серверами

https://sqs.us-east-1.amazonaws.com/599169622985/test-topic-queue 

Затем, на моем другом сервере, я, очевидно, должен запросить этот URL для получения информации о очереди. Проблема в том, что мой сервер B не знает URL, который я создал на сервере A. Это кажется немного недостатком, мне действительно нужно найти способ также передавать URL-адрес серверу B, прежде чем он сможет подключиться к очередь, и если да, у кого-нибудь есть хорошие решения для этого?

Я бы очень признателен за любую помощь, потому что я пробовал просить об Amazon и не получил никаких ответов.

+0

Это не недостаток. Обычно ваша очередь будет заранее определена относительно того, какие сообщения она будет иметь, и что опубликует ее и прочитает от нее. Динамическое создание очередей обычно не является тем, как очередь сообщений используется, по крайней мере, не без механизма для публикации новой очереди. – datasage

+0

Благодарим вас за ответ @datasage. Проблема в том, что я могу определить «тестовую тему-очередь» как известную, но я не буду знать остальную часть URL-адреса на втором сервере, то есть «https://sqs.us-east-1.amazonaws.com/ 599169622985" . Вы говорите, что я должен просто создать очередь перед рукой и сохранить этот URL-адрес, а затем сохранить его как переменную на обоих серверах? – Jimmy

+0

Да, создайте очередь перед рукой и настройте ее на обоих серверах. Или положить его где-нибудь, чтобы оба сервера могли его проверить. – datasage

ответ

1

Очереди следует рассматривать как любые другие ресурсы (кеш, хранилища данных и т. Д.) И заранее определены в каком-либо файле конфигурации приложения.

Если ваш случай использования включает в себя конечные точки очереди, которые изменяются на регулярной основе, то вы можете захотеть сохранить конечную точку очереди в том, что могут проверить оба экземпляра. Это может быть база данных, или это может быть файл конфигурации, извлеченный из s3.

1

Наверняка серверы A и B должны передавать информацию о очереди. Если не полный URL, вы можете просто разделить имя, и получить URL очереди на сервере B с использованием API конечной точки GetQueueUrl:

http://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/Query_QueryGetQueueUrl.html

+0

Ах спасибо за это, это прекрасно. Я использую это с Amazon-CLI, можете ли вы сказать мне, существует ли эта команда для этого, потому что я не могу найти его :( – Jimmy

+0

Я никогда не использовал CLI для этого, но, похоже, он не поддерживается, по крайней мере не документировано. – adamw

 Смежные вопросы

  • Нет связанных вопросов^_^