Разработчик(и) | Amazon.com |
---|---|
Лицензия | Собственное программное обеспечение |
Веб-сайт | aws.amazon.com/sqs/ |
Amazon Simple Queue Service ( Amazon SQS ) — это распределенная служба очередей сообщений, представленная Amazon.com в качестве бета-версии в конце 2004 года и ставшая общедоступной в середине 2006 года. [1] [2] Она поддерживает программную отправку сообщений через веб-сервисные приложения как способ общения через Интернет. SQS предназначена для предоставления высокомасштабируемой размещенной очереди сообщений , которая решает проблемы, возникающие из общей проблемы производитель-потребитель или связи между производителем и потребителем.
Amazon SQS можно описать как коммерциализацию сервиса обмена сообщениями. Известные примеры технологий сервиса обмена сообщениями включают IBM WebSphere MQ и Microsoft Message Queuing . В отличие от этих технологий, пользователям не нужно поддерживать собственный сервер. Amazon делает это за них и продает сервис SQS по ставке за использование.
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 год [обновлять]Amazon SQS не гарантирует, что получатель получит сообщения в том порядке, в котором они были отправлены отправителем. Если порядок сообщений важен, необходимо, чтобы приложение размещало информацию о последовательности в сообщениях, чтобы обеспечить возможность повторного упорядочивания после доставки.
Сообщения могут быть любого типа, и содержащиеся в них данные не ограничены. Размер тела сообщения изначально был ограничен 8 КБ, но позже был увеличен до 64 КБ 01.07.2010 [4] и затем до 256 КБ 18.06.2013 [5] Для больших сообщений у пользователя есть несколько вариантов обойти это ограничение. Большое сообщение можно разделить на несколько сегментов, которые отправляются отдельно, или данные сообщения можно сохранить с помощью Amazon Simple Storage Service (Amazon S3) или Amazon DynamoDB с помощью только указателя на данные, переданные в сообщении SQS. Amazon сделал расширенную клиентскую библиотеку доступной для этой цели. [6]
Сервис поддерживает как неограниченные очереди, так и трафик сообщений.
SQS не удаляет сообщения автоматически после их отправки. Когда сообщение доставляется, для этой доставки генерируется дескриптор квитанции и отправляется получателю. Эти квитанции отправляются не вместе с сообщением, а в дополнение к нему. SQS требует, чтобы получатель предоставил квитанцию, чтобы удалить сообщение. Эта функция является новой с 2008 года, когда для удаления сообщения требовался только идентификатор сообщения. Поскольку система распределенная, сообщение может быть отправлено более одного раза. В этом случае для удаления сообщения необходим самый последний дескриптор квитанции. Кроме того, дескриптор квитанции может иметь другие ограничения действительности; например, дескриптор квитанции может быть действителен только в течение тайм-аута видимости (см. ниже).
После доставки сообщения у него есть тайм-аут видимости , чтобы другие компоненты не могли его использовать. «Часы» для тайм-аута видимости начинаются с момента отправки сообщения, время по умолчанию составляет 30 секунд. Если в течение этого времени очереди не будет приказано удалить сообщение, сообщение снова станет видимым и будет присутствовать.
Каждая очередь также состоит из параметра хранения, по умолчанию равного 4 дням. Любое сообщение, находящееся в очереди дольше, будет автоматически очищено. Пользователь может изменить срок хранения от 1 минуты до 14 дней. Если срок хранения изменяется, когда сообщения уже находятся в очереди, любое сообщение, находящееся в очереди дольше нового срока хранения, будет очищено.
Примеры компаний, которые широко используют SQS: