Usługa prostej kolejki Amazon — Amazon Simple Queue Service
| Deweloper(zy) | Amazon.com |
|---|---|
| Licencja | Zastrzeżone oprogramowanie |
| Stronie internetowej | aws |
Amazon Simple Queue Service ( Amazon SQS ) to rozproszona usługa kolejkowania wiadomości wprowadzona przez Amazon.com pod koniec 2004 roku. Obsługuje programowe wysyłanie wiadomości za pośrednictwem aplikacji usług internetowych jako sposób komunikowania się przez Internet. SQS ma zapewnić wysoce skalowalną hostowaną kolejkę komunikatów, która rozwiązuje problemy wynikające z typowego problemu producent-konsument lub łączności między producentem a konsumentem.
Amazon SQS można określić jako utowarowienie usługi przesyłania wiadomości. Dobrze znane przykłady technologii obsługi przesyłania komunikatów obejmują IBM WebSphere MQ i Microsoft Message Queuing . W przeciwieństwie do tych technologii użytkownicy nie muszą utrzymywać własnego serwera. Amazon robi to za nich i sprzedaje usługę SQS po stawce za użycie.
API
Amazon dostarcza pakiety SDK w kilku językach programowania, w tym Java , Ruby , Python , .NET , PHP , Go i JavaScript . Java Message Service (JMS) 1,1 klientem Amazon SQS ukazał się w grudniu 2014 roku.
Poświadczenie
Amazon SQS zapewnia procedury uwierzytelniania umożliwiające bezpieczne przetwarzanie danych. Amazon wykorzystuje w tym celu swoją identyfikację Amazon Web Services (AWS), wymagając od użytkowników posiadania konta z włączonym AWS w Amazon.com . AWS przypisuje parę powiązanych identyfikatorów, twoje klucze dostępu AWS, do konta obsługującego AWS w celu przeprowadzenia identyfikacji. Pierwszym identyfikatorem jest publiczny 20-znakowy klucz dostępu. Ten klucz jest zawarty w żądaniu usługi AWS w celu identyfikacji użytkownika. Jeśli użytkownik nie używa protokołu SOAP (protokołu) z WS-Security , podpis cyfrowy jest obliczany przy użyciu tajnego klucza dostępu. Tajny klucz dostępu to 40-znakowy identyfikator prywatny. AWS używa identyfikatora klucza dostępu podanego w zgłoszeniu serwisowym, aby wyszukać tajny klucz dostępu konta. Amazon.com następnie oblicza podpis cyfrowy za pomocą klucza. Jeśli są zgodne, użytkownik jest uważany za autentycznego, jeśli nie, uwierzytelnianie kończy się niepowodzeniem i żądanie nie jest przetwarzane.
Dostarczanie wiadomości
Amazon SQS gwarantuje co najmniej jednorazową dostawę . Wiadomości są przechowywane na wielu serwerach w celu zapewnienia nadmiarowości i zapewnienia dostępności. Jeśli wiadomość zostanie dostarczona, gdy serwer jest niedostępny, może nie zostać usunięta z kolejki tego serwera i może zostać wysłana ponownie. Od 2007 roku Amazon SQS nie gwarantuje, że odbiorca otrzyma wiadomości w kolejności, w jakiej zostały wysłane przez nadawcę. Jeśli kolejność wiadomości jest ważna, wymagane jest, aby aplikacja umieszczała informacje o kolejności w wiadomościach, aby umożliwić zmianę kolejności po dostarczeniu.
Wiadomości mogą być dowolnego typu, a dane w nich zawarte nie są ograniczone. Treść wiadomości była początkowo ograniczona do 8 KB, ale później została zwiększona do 64 KB w dniu 01.07.2010 r., a następnie do 256 KB w dniu 18.06.2013. W przypadku większych wiadomości użytkownik ma kilka opcji obejścia tego ograniczenia. Duża wiadomość może zostać podzielona na wiele segmentów, które są wysyłane osobno, lub dane wiadomości mogą być przechowywane za pomocą Amazon Simple Storage Service (Amazon S3) lub Amazon DynamoDB ze wskaźnikiem do danych przesyłanych w wiadomości SQS. Amazon udostępnił w tym celu Rozszerzoną Bibliotekę Klienta.
Usługa obsługuje zarówno nieograniczone kolejki, jak i ruch wiadomości.
Usunięcie wiadomości
SQS nie usuwa automatycznie wiadomości po ich wysłaniu. Po dostarczeniu wiadomości generowany jest uchwyt odbioru dla tej dostawy i wysyłany do adresata. Pokwitowania te nie są wysyłane wraz z wiadomością, ale dodatkowo do niej. SQS wymaga od odbiorcy dostarczenia potwierdzenia w celu usunięcia wiadomości. Ta funkcja jest nowością w 2008 roku, w której do usunięcia wiadomości wymagany był tylko identyfikator wiadomości. Ponieważ system jest rozproszony, wiadomość może zostać wysłana więcej niż raz. W takim przypadku do usunięcia wiadomości potrzebny jest najnowszy uchwyt potwierdzenia. Ponadto uchwyt paragonu może mieć inne ograniczenia ważności; na przykład uchwyt paragonu może być ważny tylko podczas limitu czasu widoczności (patrz poniżej).
Po dostarczeniu wiadomości ma limit czasu widoczności, aby uniemożliwić innym składnikom jej użycie. „Zegar” limitu czasu widoczności rozpoczyna się po wysłaniu wiadomości, domyślny czas wynosi 30 sekund. Jeśli kolejka nie otrzyma w tym czasie polecenia usunięcia wiadomości, wiadomość stanie się ponownie widoczna i będzie obecna.
Każda kolejka zawiera również parametr przechowywania domyślnie równy 4 dni. Każda wiadomość pozostająca w kolejce przez dłuższy czas zostanie automatycznie wyczyszczona. Retencja może być modyfikowana przez użytkownika od 1 minuty do 14 dni. Jeśli przechowywanie zostanie zmienione, gdy wiadomości znajdują się już w kolejce, wszystkie wiadomości, które znajdowały się w kolejce dłużej niż nowy okres przechowywania, zostaną usunięte.
Godne uwagi użycie
Dropbox , Netflix i Nextdoor to przykłady firm, które intensywnie korzystają z SQS. SQS jest również szeroko stosowany w Amazon.com.
Zobacz też
- Usługa wiadomości Java
- Kolejka wiadomości
- Kolejkowanie wiadomości jako usługa
- Oracle Messaging Cloud Service
- StormMQ