Простая служба очередей Amazon
Эта статья нуждается в дополнительных цитатах для проверки . ( август 2015 г. ) |
![]() | |
Разработчик(и) | Amazon.com |
---|---|
Лицензия | Собственное программное обеспечение |
Веб-сайт | оу |
Amazon Simple Queue Service ( Amazon SQS ) — это распределенная служба очередей сообщений, представленная Amazon.com в виде бета-версии в конце 2004 года и общедоступная в середине 2006 года. [ 1 ] [ 2 ] Он поддерживает программную отправку сообщений через приложения веб-служб как способ общения через Интернет. SQS предназначен для предоставления высокомасштабируемой размещенной очереди сообщений , которая решает проблемы, возникающие из-за общих проблем производителя и потребителя или связи между производителем и потребителем.
Amazon SQS можно охарактеризовать как коммерциализацию службы обмена сообщениями. Хорошо известные примеры технологий службы обмена сообщениями включают IBM WebSphere MQ и Microsoft Message Queuing . В отличие от этих технологий, пользователям не нужно содержать собственный сервер. Amazon делает это за них и продает услугу SQS по цене за использование.
API
[ редактировать ]Amazon предоставляет SDK на нескольких языках программирования, в том числе: [ 3 ]
Клиент Java Message Service (JMS) 1.1 для Amazon SQS был выпущен в декабре 2014 года. [ нужна ссылка ]
Аутентификация
[ редактировать ]Amazon SQS предоставляет процедуры аутентификации, обеспечивающие безопасную обработку данных. Для этого Amazon использует свою идентификацию Amazon Web Services (AWS), требуя от пользователей наличия учетной записи с поддержкой AWS на Amazon.com . AWS назначает пару связанных идентификаторов (ваших ключей доступа к AWS) учетной записи с поддержкой AWS для выполнения идентификации. Первый идентификатор — это общедоступный 20-значный ключ доступа. Этот ключ включается в запрос сервиса AWS для идентификации пользователя. Если пользователь не использует SOAP с WS-Security , цифровая подпись рассчитывается с использованием секретного ключа доступа. Секретный ключ доступа — это 40-значный частный идентификатор. AWS использует идентификатор ключа доступа, указанный в запросе на обслуживание, для поиска секретного ключа доступа учетной записи. Затем Amazon.com вычисляет цифровую подпись с помощью ключа. Если они совпадают, то пользователь считается подлинным, если нет, то аутентификация не удалась и запрос не будет обработан.
Доставка сообщений
[ редактировать ]Amazon SQS гарантирует хотя бы однократную доставку . Сообщения хранятся на нескольких серверах для резервирования и обеспечения доступности. Если сообщение доставлено, когда сервер недоступен, оно не может быть удалено из очереди этого сервера и может быть отправлено повторно. По состоянию на 2007 год [update]Amazon SQS не гарантирует, что получатель получит сообщения в том порядке, в котором они были отправлены отправителем. Если порядок сообщений важен, необходимо, чтобы приложение помещало информацию о последовательности в сообщения, чтобы можно было изменить порядок после доставки.
Сообщения могут быть любого типа, и данные, содержащиеся в них, не ограничены. Размер тела сообщения изначально был ограничен 8 КБ, но позже, 1 июля 2010 г., он был увеличен до 64 КБ. [ 4 ] а затем 256 КБ 18 июня 2013 г. [ 5 ] Для более крупных сообщений у пользователя есть несколько вариантов обойти это ограничение. Большое сообщение можно разделить на несколько сегментов, которые отправляются отдельно, либо данные сообщения можно сохранить с помощью Amazon Simple Storage Service (Amazon S3) или Amazon DynamoDB , используя только указатель на данные, передаваемые в сообщении SQS. Для этой цели Amazon предоставила расширенную клиентскую библиотеку. [ 6 ]
Сервис поддерживает как неограниченные очереди, так и трафик сообщений.
Удаление сообщения
[ редактировать ]SQS не удаляет автоматически сообщения после их отправки. Когда сообщение доставлено, для этой доставки создается дескриптор получения и отправляется получателю. Эти квитанции отправляются не вместе с сообщением, а в дополнение к нему. SQS требует, чтобы получатель предоставил квитанцию для удаления сообщения. Эта функция появилась в 2008 году, когда для удаления сообщения требовался только идентификатор сообщения. Поскольку система распределена, сообщение может быть отправлено более одного раза. В этом случае для удаления сообщения необходим самый последний дескриптор получения. Более того, дескриптор получения может иметь другие ограничения действительности; например, дескриптор квитанции может быть действительным только во время тайм-аута видимости (см. ниже).
После доставки сообщения у него есть тайм-аут видимости , чтобы предотвратить его использование другими компонентами. «Часы» тайм-аута видимости запускаются после отправки сообщения, время по умолчанию составляет 30 секунд. Если в течение этого времени очереди не будет дано указание удалить сообщение, сообщение снова станет видимым и будет присутствовать.
Каждая очередь также содержит параметр хранения , по умолчанию равный 4 дням. Любое сообщение, находящееся в очереди дольше, будет удалено автоматически. Пользователь может изменить срок хранения от 1 минуты до 14 дней. Если срок хранения изменен, когда сообщения уже находятся в очереди, любое сообщение, находившееся в очереди дольше нового срока хранения, будет удалено.
Заметное использование
[ редактировать ]Примеры компаний, которые широко используют SQS:
См. также
[ редактировать ]- Служба сообщений Java
- Очередь сообщений
- Очередь сообщений как услуга
- Облачная служба обмена сообщениями Oracle
Ссылки
[ редактировать ]- ^ «Выпущен Amazon Simple Queue Service» . Веб-сервисы Amazon . 13 июля 2006 г. Проверено 29 октября 2021 г.
- ^ Барр, Джефф (19 августа 2014 г.). «Мои первые 12 лет на Amazon.com» . Джефф-Барр.com . Проверено 11 января 2021 г.
- ^ АВС (2024 г.). «Пакеты AWS SDK и инструменты» . Проверено 29 мая 2024 г.
- ^ «Amazon SQS представляет уровень бесплатного пользования и добавляет поддержку более крупных сообщений и более длительного хранения» . aws.amazon.com . 01 июля 2010 г. Проверено 11 января 2021 г.
- ^ «Amazon SQS и SNS объявляют о больших полезных нагрузках размером 256 КБ» . aws.amazon.com . 18 июня 2013 г. Проверено 11 января 2021 г.
- ^ Расширение клиента Amazon SQS, позволяющее отправлять и получать сообщения размером до 2 ГБ через Amazon S3. на GitHub
- ^ Гранквист, Ганс (18 апреля 2011 г.). « Больше вот так…» Построение сети сходства» . Технический блог Netflix . Архивировано из оригинала 28 ноября 2016 г.
- ^ Фан, Вэньбинь (13 августа 2014 г.). «Соседний надсмотрщик: простой, эффективный и масштабируемый» . Соседняя инженерия .