Amazon Simple Queue Service - Amazon Simple Queue Service
| Fejlesztő (k) | Amazon.com |
|---|---|
| Engedély | Saját szoftver |
| Weboldal | aws |
Az Amazon Simple Queue Service ( Amazon SQS ) egy elosztott üzenetsor-szolgáltatás, amelyet az Amazon.com vezetett be 2004 végén. Támogatja az üzenetek programozott küldését webszolgáltatási alkalmazásokon keresztül, mint az interneten keresztüli kommunikáció módját. Az SQS célja egy nagymértékben skálázható hostolt üzenetsor biztosítása, amely megoldja a gyártó és a fogyasztó közös problémájából, illetve a gyártó és a fogyasztó közötti kapcsolatból eredő kérdéseket .
Az Amazon SQS az üzenetküldési szolgáltatás commoditizálásaként írható le . Az üzenetküldési szolgáltatási technológiák jól ismert példái az IBM WebSphere MQ és a Microsoft Message Queuing . Ezektől a technológiáktól eltérően a felhasználóknak nem kell saját szervert fenntartaniuk. Az Amazon megteszi helyettük, és felhasználásonként eladja az SQS szolgáltatást.
API
Az Amazon számos programozási nyelven nyújt SDK-kat, beleértve a Java , Ruby , Python , .NET , PHP , Go és JavaScript programokat . 2014 decemberében megjelent egy Java Message Service (JMS) 1.1 kliens az Amazon SQS számára.
Hitelesítés
Az Amazon SQS hitelesítési eljárásokat biztosít az adatok biztonságos kezeléséhez. Az Amazon ehhez Amazon Web Services (AWS) azonosítóját használja, és megköveteli a felhasználóktól, hogy legyenek AWS-engedélyezett fiókjuk az Amazon.com-on . Az AWS hozzárendel egy pár azonosítót, az AWS hozzáférési kulcsokat egy AWS-kompatibilis fiókhoz az azonosítás elvégzéséhez. Az első azonosító egy nyilvános 20 karakteres hozzáférési kulcs. Ezt a kulcsot a felhasználó azonosítására szolgáló AWS-szolgáltatáskérelem tartalmazza. Ha a felhasználó nem a SOS-t (protokollt) használja a WS-Security szolgáltatással , akkor a digitális aláírást a titkos hozzáférési kulcs segítségével számítják ki. A titkos hozzáférési kulcs egy 40 karakteres privát azonosító. Az AWS a szolgáltatási kérelemben megadott hozzáférési kulcs azonosítóját használja a fiók titkos hozzáférési kulcsának megkeresésére. Ezután az Amazon.com kiszámítja a kulccsal a digitális aláírást. Ha egyeznek, akkor a felhasználó hitelesnek tekinthető, ha nem, akkor a hitelesítés sikertelen és a kérelem nem kerül feldolgozásra.
Üzenetek kézbesítése
Az Amazon SQS garantálja a szállítást legalább egyszer . Az üzeneteket több szerveren tárolják a redundancia és az elérhetőség biztosítása érdekében. Ha egy üzenet akkor érkezik, amikor a kiszolgáló nem érhető el, előfordulhat, hogy nem távolítja el az adott szerver sorából, és újra elküldheti. 2007-től az Amazon SQS nem garantálja, hogy a címzett az üzeneteket a feladó által küldött sorrendben kapja meg. Ha az üzenetek sorrendje fontos, akkor az alkalmazásnak el kell helyeznie a szekvenálási információkat az üzeneteken belül, hogy a kézbesítés után átrendezhesse őket.
Az üzenetek bármilyen típusúak lehetnek, és a benne lévő adatok nincsenek korlátozva. Az üzenettörzsek kezdetben 8KB-ra korlátozódtak, de később 2010-07-01-re 64KB-ra, majd 2013-06-18-án 256KB-ra emelték. Nagyobb üzenetek esetén a felhasználónak van néhány lehetősége, hogy megkerülje ezt a korlátozást. Egy nagy üzenet felosztható több szegmensre, amelyeket külön küldenek, vagy az üzenet adatait az Amazon Simple Storage Service (Amazon S3) vagy az Amazon DynamoDB segítségével tárolhatja , csak az SQS üzenetben továbbított adatokra mutató mutatóval . Az Amazon kibővített kliens könyvtárat tett elérhetővé erre a célra.
A szolgáltatás korlátlan sorokat és üzenetforgalmat egyaránt támogat.
Üzenet törlése
Az SQS nem törli automatikusan az üzeneteket, miután elküldte őket. Amikor üzenetet kézbesítenek, az adott kézbesítéshez egy nyugta fogantyút hoz létre, és elküldi a címzettnek. Ezeket a nyugtákat nem az üzenettel együtt, hanem azon kívül küldjük el. Az SQS megköveteli, hogy a címzett adja meg a nyugtát az üzenet törléséhez. Ez a szolgáltatás 2008-tól új, ahol az üzenet törléséhez csak az üzenetazonosítóra volt szükség. Mivel a rendszer elosztott, előfordulhat, hogy egy üzenetet többször is elküldenek. Ebben az esetben az üzenet törléséhez a legfrissebb nyugtakezelőre van szükség. Ezenkívül a nyugta fogantyújának más érvényességi korlátai lehetnek; például a nyugta fogantyúja csak a láthatóság időkorlátja alatt lehet érvényes (lásd alább).
Az üzenet kézbesítése után láthatósági időkorlátja van annak megakadályozására, hogy más alkatrészek elfogyasszák azt. A láthatósági időkorlát "órája" egy üzenet elküldése után kezdődik, az alapértelmezett idő 30 másodperc. Ha a sornak nem szólítják meg az üzenet törlését ez idő alatt, akkor az üzenet újra láthatóvá válik, és jelen lesz.
Minden sor egy megőrzési paraméterből is áll, amelynek alapértelmezett értéke 4 nap. A hosszabb ideig a sorban tartózkodó üzeneteket automatikusan törli. A retenciót a felhasználó 1 perctől 14 napig módosíthatja. Ha a megőrzés megváltozik, miközben az üzenetek már a várólistában vannak, minden olyan üzenet törlődik, amely az új megőrzésnél hosszabb ideig volt a sorban.
Figyelemre méltó használat
A Dropbox , a Netflix és a Nextdoor példák azokra a vállalatokra, amelyek széles körben használják az SQS-t. Az SQS-t az Amazon.com-on belül is széles körben használják.