Amazon SNS क्या है?
Amazon Simple Notification Service (SNS) एक पूर्ण-प्रबंधित मैसेजिंग सेवा है जो एप्लिकेशन-टू-एप्लिकेशन (A2A) और एप्लिकेशन-टू-पर्सन (A2P) संचार का समर्थन करती है। यह रीयल-टाइम नोटिफिकेशंस के लिए डिज़ाइन की गई है और संदेशों को अनुप्रयोगों और अंतिम उपयोगकर्ताओं तक स्केलेबल और कुशल तरीके से पहुँचाती है।
SQS की तरह, Amazon SNS भी संदेश स्थायित्व का समर्थन करता है, जिसमें उपयोगकर्ता ऐसे डेड-लेटर क्यू बना सकते हैं जहाँ उन संदेशों को रखा जा सके जो प्रोसेस नहीं हो पाते।
Amazon SNS एक पब्लिश/सब्सक्राइब (pub/sub) मैसेजिंग मॉडल का उपयोग करता है और 3 भागों से मिलकर बनता है:
- Publisher: वह सिस्टम जो SNS टॉपिक पर संदेश बनाता और भेजता है।
- Topic: एक एक्सेस पॉइंट जो कई एंडपॉइंट्स तक संदेश डिलीवरी सक्षम करता है।
- Subscriber: सब्सक्राइबर, या कंज्यूमर, वह एंडपॉइंट है जो टॉपिक से संदेश प्राप्त करता है।

SNS मैसेजिंग मॉडल आर्किटेक्चर डायग्राम। स्रोत: AWS
SNS अत्यधिक प्रदर्शनक्षम है और एक साथ कई सब्सक्राइबर्स को संदेश भेज सकता है। A2A संचार के लिए, SNS संदेशों को AWS Lambda, Amazon Kinesis Firehose, और यहाँ तक कि Amazon SQS तक भी डिलीवर कर सकता है। A2P संचार के लिए, SNS सीधे उपयोगकर्ताओं को टेक्स्ट, ईमेल या पुश नोटिफिकेशन के माध्यम से संदेश भेज सकता है।
यदि आप AWS में महारत हासिल करना चाहते हैं और उसके कई सेवाओं को एकीकृत कर अनुकूल समाधान बनाना चाहते हैं, तो AWS Cloud Technology and Services कोर्स करने पर विचार करें।
अलर्टिंग सिस्टम, फैन-आउट आर्किटेक्चर, और रीयल-टाइम नोटिफिकेशंस जैसी विशेषताएँ Amazon SNS की उच्च मजबूती और विश्वसनीयता में योगदान देती हैं। उच्च मैसेज थ्रूपुट और A2A तथा A2P संचार की क्षमता के कारण, SNS अक्सर इवेंट-ड्रिवन आर्किटेक्चर का अभिन्न हिस्सा होता है।
SQS और SNS के बीच मुख्य अंतर
SQS और SNS में से चुनने के लिए इन मैसेजिंग सेवाओं के अंतरों की ठोस समझ आवश्यक है। यह अनुभाग दोनों को अलग करने वाले मुख्य मानदंडों की रूपरेखा देता है।
पुश बनाम पोल-आधारित
Amazon SQS एक पोलिंग सिस्टम का उपयोग करता है जहाँ कंज्यूमर समय-समय पर क्यू को नए संदेशों के लिए पोल करते हैं।
Amazon SNS, एक पुश-आधारित सिस्टम, टॉपिक पर संदेश प्रकाशित होते ही उन्हें स्वचालित रूप से सब्सक्राइबर्स को पुश करता है।
प्राप्तकर्ता प्रकार
Amazon SQS केवल A2A संचार का समर्थन करता है, जिससे संदेश अन्य AWS सेवाओं जैसे AWS EC2, AWS Lambda, AWS RDS और AWS Redshift को भेजे जा सकते हैं।
Amazon SNS A2A और A2P दोनों संचार का समर्थन करता है, और AWS सेवाओं (जैसे AWS S3, AWS EC2) तथा उपयोगकर्ता संपर्कों (जैसे SMS और ईमेल) को सब्सक्राइबर्स के रूप में संदेश भेजता है।
संदेश रिटेंशन
Amazon SQS 14 दिनों तक संदेशों को संग्रहीत कर सकता है, जिससे कंज्यूमर को उन्हें प्रोसेस करने के लिए पर्याप्त समय मिलता है। दूसरी ओर, Amazon SNS कोई संदेश संरक्षित नहीं करता और संदेशों को प्रकाशित होते ही सब्सक्राइबर्स तक पहुँचा देता है।
संदेश डिलीवरी मॉडल
Amazon SQS एक वन-टू-वन मॉडल उपयोग करता है, जिसमें प्रत्येक संदेश को केवल एक कंज्यूमर प्रोसेस करता है। भले ही एक ही समय पर कई कंज्यूमर संदेशों के लिए पोल करें, एक दिए गए संदेश को केवल एक ही कंज्यूमर मिलेगा। जबकि वह कंज्यूमर संदेश प्रोसेस कर रहा होता है, SQS उस संदेश को अन्य कंज्यूमर्स से अदृश्य बनाने के लिए विज़िबिलिटी टाइमआउट फीचर का उपयोग करता है।
Amazon SNS एक फैन-आउट पैटर्न का समर्थन करता है, जिसमें एक ही टॉपिक पर मौजूद संदेश एक साथ सभी सब्सक्राइबर्स को भेजा जाता है। ये सब्सक्राइबर्स प्राप्त संदेश को स्वतंत्र रूप से प्रोसेस करते हैं।
बैचिंग
Amazon SQS उपयोगकर्ताओं को संदेशों की बैचिंग की अनुमति देता है, यानी संदेशों को समूहों में कंज्यूमर्स तक भेजा जाता है। बैच आकार AWS में कॉन्फ़िगर किया जा सकता है।
Amazon SNS बैचिंग का समर्थन नहीं करता, और एक समय में केवल एक संदेश को प्रोसेस करने की अनुमति देता है।
निम्न तालिका इन मुख्य अंतरों का सार प्रस्तुत करती है:
|
मानदंड |
Amazon SQS |
Amazon SNS |
|
पुश बनाम पोल-आधारित |
पोल-आधारित: कंज्यूमर नए संदेशों के लिए क्यू को पोल करते हैं |
पुश-आधारित: संदेशों को स्वचालित रूप से सब्सक्राइबर्स को पुश करता है |
|
प्राप्तकर्ता प्रकार |
A2A संचार का समर्थन |
A2A और A2P संचार का समर्थन |
|
संदेश रिटेंशन |
अधिकतम 14 दिनों तक संदेश संग्रहीत करता है |
संदेश संग्रहीत नहीं करता |
|
संदेश डिलीवरी मॉडल |
वन-टू-वन मैसेजिंग का समर्थन |
फैन-आउट (वन-टू-मेनी) मैसेजिंग का समर्थन |
|
बैचिंग |
संदेशों की बैचिंग का समर्थन |
संदेशों की बैचिंग का समर्थन नहीं करता |
SQS कब उपयोग करें
क्लाउड आर्किटेक्चर में SQS तब उपयुक्त होता है जब मैसेज डिलीवरी सिस्टम को निम्न की आवश्यकता हो:
- पोलिंग सिस्टम - कंज्यूमर यह चुन सकते हैं कि संदेश कब पोल करने हैं।
- असिंक्रोनस प्रोसेसिंग - सेवाएँ स्वतंत्र रूप से संदेश प्रोसेस कर सकती हैं।
- संदेश रिटेंशन - संदेश 14 दिनों तक संग्रहीत किए जा सकते हैं।
- गारंटीड संदेश डिलीवरी - क्यू में कोई संदेश नहीं खोता।
- बैचिंग - सेवाएँ संदेशों को समूहों में प्रोसेस करती हैं।
निम्न वास्तविक उदाहरण पर विचार करें: एक ई-कॉमर्स प्लेटफ़ॉर्म ग्राहकों के ऑर्डर प्रोसेस करना चाहता है, जिसमें ऑर्डर से संबंधित डेटा को RDS डेटाबेस में संग्रहीत करना शामिल है।

Amazon SQS का उपयोग कर डेटा प्रोसेस करने वाले सिस्टम का आर्किटेक्चर डायग्राम—चित्र: लेखक द्वारा।
इस वर्कफ़्लो में, ग्राहक ऑर्डर जमा करते हैं, जो SQS क्यू में प्रवेश करते हैं। लैम्ब्डा फ़ंक्शन (अर्थात् कंज्यूमर) क्यू को पोल करता है, संदेश प्राप्त करता है, और फिर डेटा को RDS डेटाबेस में लिखता है।
इस उपयोग परिदृश्य में SQS के कई लाभ हैं। चूँकि SQS प्रक्रिया को डीकपल करता है, डेटाबेस अनुपलब्ध होने पर भी ग्राहक ऑर्डर जमा कर सकते हैं। SQS कम-से-कम-एक-बार डिलीवरी प्रदान करता है, इसलिए सभी ऑर्डर बिना संदेश खोए प्रोसेस होंगे। अंत में, SQS बैचिंग का समर्थन करता है, जिससे संदेश समूहों में प्रोसेस होकर दक्षता बढ़ती है।
Amazon SNS यहाँ काम नहीं करेगा क्योंकि यह संदेशों को संरक्षित नहीं करता और इसके बजाय डेटाबेस की स्थिति की परवाह किए बिना संदेशों को तुरंत लैम्ब्डा फ़ंक्शन पर पुश कर देगा। इसलिए, यदि डेटाबेस अनुपलब्ध हो जाए, तो संदेश खो सकते हैं। साथ ही, SNS बैचिंग का समर्थन नहीं करता, इसलिए यह एक समय में एक ही संदेश प्रोसेस करेगा, जो कम उपयुक्त समाधान है।
SNS कब उपयोग करें
क्लाउड आर्किटेक्चर में SNS तब उपयुक्त होता है जब मैसेज डिलीवरी सिस्टम को निम्न की आवश्यकता हो:
- रीयल-टाइम नोटिफिकेशंस - संदेश कम विलंबता के साथ तुरंत सब्सक्राइबर्स को पुश होते हैं।
- फैन-आउट वितरण - एक ही संदेश एक साथ कई सब्सक्राइबर्स को मिल सकता है।
- कई प्रकार के नोटिफिकेशन सब्सक्राइबर - संदेश अनुप्रयोगों (जैसे AWS Lambda) और अंतिम उपयोगकर्ताओं (जैसे ईमेल) दोनों को भेजे जा सकते हैं।
एक परिदृश्य पर विचार करें जहाँ कोई डेवलपर अपने EC2 इंस्टांस के CPU उपयोग की निगरानी करता है। यह सुनिश्चित करने के लिए कि उपयोग कम रहे, वे CloudWatch पर CPU उपयोगिता मीट्रिक की निगरानी करना चाहते हैं और जब भी यह एक निश्चित सीमा से अधिक हो जाए तो एक नोटिफिकेशन प्राप्त करना चाहते हैं।
Amazon SNS डेवलपर को समाधान बनाने में बहुत मदद करेगा क्योंकि यह रीयल-टाइम में नोटिफिकेशन पुश करता है और A2A तथा A2P दोनों प्रक्रियाओं का समर्थन करता है। अपने फैन-आउट पैटर्न का उपयोग करते हुए, SNS तुरंत नोटिफिकेशन को लैम्ब्डा फ़ंक्शंस तक भेज सकता है जो समस्या को कम करने पर काम कर सकते हैं, और डेवलपर को ईमेल के माध्यम से यह सूचित कर सकता है कि अलार्म ट्रिगर हुआ है।

Amazon SNS का उपयोग कर मॉनिटरिंग करने वाले सिस्टम का आर्किटेक्चर डायग्राम—चित्र: लेखक द्वारा।
Amazon SQS इस कार्य के लिए कम प्रभावी होगा क्योंकि यह संदेशों को संग्रहीत करता है। यदि डेवलपर्स सीमा उल्लंघनों पर प्रतिक्रिया देना चाहते हैं, तो उन्हें रीयल-टाइम अलर्ट चाहिए होंगे, जो क्यूज़ में संदेश संग्रहीत होने पर संभव नहीं होगा। इसके अलावा, SQS पोलिंग सिस्टम उपयोग करता है, जिसमें संदेश केवल तब एक्सेस होते हैं जब कंज्यूमर उन्हें पोल करते हैं, जिससे विलंब बढ़ता है।
SQS और SNS का साथ में उपयोग: दोनों दुनियाओं का सर्वश्रेष्ठ
Amazon SQS और Amazon SNS की अलग-अलग विशेषताएँ और गुण हैं, लेकिन AWS उपयोगकर्ता इन्हें मिलाकर एक कुशल, स्केलेबल और फॉल्ट-टॉलरेंट मैसेजिंग सिस्टम बनाकर दोनों से सर्वश्रेष्ठ प्राप्त कर सकते हैं।
दोनों सेवाओं को एकीकृत करना आसान है क्योंकि SQS क्यूज़, SNS टॉपिक्स के सब्सक्राइबर बन सकते हैं। इस प्रकार, SNS रीयल-टाइम नोटिफिकेशन SQS क्यूज़ को भेज सकता है, जिसके बाद SQS सभी प्रक्रियाओं को डीकपल करते हुए संदेश डिलीवरी सुनिश्चित करेगा।
निम्न उदाहरण पर विचार करें: एक AWS डेवलपर एक दस्तावेज़ सबमिशन सिस्टम बना रहा है जो अंतिम उपयोगकर्ताओं द्वारा सबमिट किए गए दस्तावेज़ों से सामग्री निकालता है। इस सिस्टम को किसी भी सबमिटेड दस्तावेज़ के लिए दो कार्य करने होते हैं:
- टेक्स्ट-प्रोसेसिंग एप्लिकेशन का उपयोग करके दस्तावेज़ को प्रोसेस करना।
- अंतिम उपयोगकर्ता को एक पुष्टि ईमेल भेजना।
डेवलपर SQS और SNS को मिलाकर एक कुशल समाधान बना सकता है:

SNS को SQS के साथ मिलाकर उपयोग करने वाले सिस्टम का आर्किटेक्चर डायग्राम—चित्र: लेखक द्वारा।
इस वर्कफ़्लो में, जब कोई उपयोगकर्ता दस्तावेज़ सबमिट करता है, तो एक संदेश SNS टॉपिक पर भेजा जाता है, जो तुरंत संदेश को लैम्ब्डा फ़ंक्शन और SQS क्यू—दोनों को पुश करता है। लैम्ब्डा फ़ंक्शन पुष्टि ईमेल भेजने पर काम करता है, जबकि SQS क्यू संदेशों को संभालेगा, जिन्हें उस EC2 इंस्टांस द्वारा पोल किया जाएगा जो टेक्स्ट प्रोसेसिंग एप्लिकेशन होस्ट करता है।
निष्कर्ष
Amazon SQS और SNS, AWS इकोसिस्टम की कोर सेवाएँ हैं, जो अलग-अलग लाभ प्रदान करती हैं। SNS रीयल-टाइम नोटिफिकेशंस देता है, जबकि SQS विश्वसनीय संदेश प्रोसेसिंग प्रदान करता है।
किसी समस्या के लिए आदर्श मैसेजिंग समाधान में SNS, SQS, या दोनों शामिल हो सकते हैं। दोनों सेवाओं की बारीकियों को समझकर, AWS डेवलपर्स अपनी विशिष्ट व्यावसायिक आवश्यकताओं के अनुरूप मैसेजिंग समाधान बना सकते हैं, जो दक्षता, स्केलेबिलिटी और लचीलेपन को सुनिश्चित करता है।
यदि आप AWS संबंधी अपने ज्ञान को अगले स्तर पर ले जाना चाहते हैं, तो इन दो उन्नत कोर्स पर विचार करें:
या हमारे स्किल ट्रैक के साथ AWS Cloud Practitioner प्रमाणन की तैयारी करें:
FAQs
क्या मैं Amazon SQS और SNS को अन्य AWS सेवाओं के साथ एकीकृत कर सकता/सकती हूँ?
हाँ, SQS और SNS दोनों विभिन्न AWS सेवाओं के साथ सहजता से एकीकृत होते हैं। उदाहरण के लिए, आप SQS या SNS से आने वाले संदेशों पर AWS Lambda फ़ंक्शन ट्रिगर कर सकते हैं, नए फ़ाइल अपलोड होने पर Amazon S3 को नोटिफिकेशन भेज सकते हैं, या Amazon CloudWatch का उपयोग करके अपने SQS और SNS के प्रदर्शन की निगरानी कर सकते हैं।
मैं SQS और SNS के साथ संदेश डिलीवरी की विश्वसनीयता कैसे सुनिश्चित करूँ?
SQS के साथ, आप डेड-लेटर क्यू (DLQs) का उपयोग कर सकते हैं ताकि कई प्रयासों के बाद प्रोसेस होने में विफल रहने वाले संदेशों को कैप्चर किया जा सके, जिससे डेटा न खोए। SNS के लिए, आप संदेश डिलीवरी विफल होने की स्थिति में रिट्राई या फॉलबैक तंत्र कॉन्फ़िगर कर सकते हैं, जैसे SNS टॉपिक के बैकअप सब्सक्राइबर के रूप में SQS का उपयोग।
क्या मैं एक ही आर्किटेक्चर में SQS और SNS को जोड़ सकता/सकती हूँ?
हाँ, SQS और SNS को मिलाकर हाइब्रिड मैसेजिंग आर्किटेक्चर बनाया जा सकता है। उदाहरण के लिए, SNS रीयल-टाइम नोटिफिकेशन कई कंज्यूमर्स को, जिनमें SQS क्यूज़ भी शामिल हैं, पुश कर सकता है। इससे आपको रीयल-टाइम नोटिफिकेशन (SNS) और विश्वसनीय, विलंबित प्रोसेसिंग (SQS)—दोनों के लाभ मिलते हैं।
SQS और SNS के लिए मूल्य निर्धारण मॉडल क्या हैं?
SQS और SNS दोनों पे-पर-यूज़ प्राइसिंग मॉडल का पालन करते हैं। SQS की कीमत अनुरोधों की संख्या, डेटा ट्रांसफर, और लॉन्ग पोलिंग जैसी अतिरिक्त विशेषताओं पर आधारित होती है। SNS की कीमत प्रकाशित संदेशों की संख्या और डिलीवरी विधि (जैसे ईमेल, SMS, या HTTP एंडपॉइंट्स) पर आधारित होती है। विशेषकर उच्च-आवृत्ति वाले अनुप्रयोगों के साथ, लागत नियंत्रित करने के लिए अपने उपयोग की निगरानी करना महत्वपूर्ण है।
SQS और SNS का उपयोग करते समय मैं प्रदर्शन कैसे अनुकूलित करूँ?
प्रदर्शन को अनुकूलित करने के लिए, आप SQS के साथ बैचिंग का उपयोग कर सकते हैं ताकि एक साथ कई संदेश भेजे और प्रोसेस किए जा सकें, जिससे API अनुरोध और लागत कम हों। SNS के साथ, सुनिश्चित करें कि आपके सब्सक्राइबर्स उच्च थ्रूपुट संभाल सकें—जैसे ट्रैफ़िक स्पाइक्स को कुशलता से प्रबंधित करने के लिए अपने प्रोसेसिंग सेवाओं (जैसे Lambda या EC2) के लिए ऑटोस्केलिंग सेटअप करें।

एक उदीयमान डेटा वैज्ञानिक के रूप में, मैं कच्चे डेटा को क्रियाशील रणनीतियों में बदलने में माहिर हूँ। मैं Python, SQL, और मशीन लर्निंग तकनीकों का उपयोग करके डेटा विश्लेषण में प्रभावशाली समाधान निकालने और मजबूत ETL पाइपलाइनों को आर्किटेक्ट करने में विशेषज्ञता रखता/रखती हूँ, जो विशाल मात्रा में डेटा को इन्गेस्ट और प्रोसेस करती हैं।
AWS में महारत हासिल करना चुनौतीपूर्ण हो सकता है, खासकर जब इसकी दो कोर सेवाओं—Amazon Simple Queue Service (SQS) और Amazon Simple Notification Service (SNS)—को समझने की बात आती है।
भले ही दोनों सेवाएँ क्लाउड समाधानों के लिए अहम हैं, इन्हें अक्सर गलत समझा और गलत तरीके से इस्तेमाल किया जाता है।
इस लेख में, मैं SQS और SNS की भूमिकाएँ बताऊँगा, उनकी समानताएँ और अंतर स्पष्ट करूँगा, और दिखाऊँगा कि इन सेवाओं का उपयोग मिलकर उच्च-प्रदर्शन वाले क्लाउड आर्किटेक्चर बनाने में कैसे किया जा सकता है।
SQS बनाम SNS: संक्षिप्त उत्तर
यदि आपके पास कम समय है, तो यहाँ मुख्य अंतर दिए गए हैं:
अधिक विस्तृत व्याख्या, उपयोग परिदृश्य, आर्किटेक्चर डायग्राम, और सर्वोत्तम प्रथाओं के लिए आगे पढ़ें!
Amazon SQS क्या है?
Amazon Simple Queue Service (SQS) एक पूर्ण-प्रबंधित मैसेज क्यूइंग सेवा है जो सॉफ्टवेयर घटकों के बीच संचार को सक्षम बनाती है। SQS माइक्रोसर्विसेज को डीकपल करने के लिए क्यूज़ का उपयोग करता है, जिससे आप अपने अनुप्रयोगों में असिंक्रोनस वर्कफ़्लो बना सकते हैं।
SQS तीन मुख्य घटकों पर आधारित है:
Amazon SQS आर्किटेक्चर डायग्राम, मुख्य घटकों सहित। चित्र: लेखक द्वारा।
SQS दो प्रकार की मैसेज क्यू ऑफर करता है:
इन क्यूज़ के बारे में अधिक जानकारी के लिए AWS प्रलेखन देखें।
Amazon SQS को संदेश स्थायित्व (message persistence) के साथ डिज़ाइन किया गया है ताकि सभी संदेश तब तक सुरक्षित रूप से संग्रहीत रहें जब तक वे प्रोसेस न हो जाएँ, जिससे संदेश खोने का जोखिम न रहे। SQS पहले किसी दिए गए संदेश को प्रोसेस करने के लिए कई बार पुनः प्रयास करता है। यदि सभी प्रयासों के बाद भी संदेश प्रोसेस नहीं हो पाता, तो आप अप्रसंस्कृत संदेशों को डेड-लेटर क्यू में रख सकते हैं, जिन्हें बाद में समीक्षा कर पुनः प्रोसेस किया जा सकता है।
एप्लिकेशन को डीकपल करके, Amazon SQS अनेक लाभ प्रदान करता है। यह उच्च मैसेज थ्रूपुट संभालता है, जिससे भारी ट्रैफ़िक में भी उच्च प्रदर्शन बना रहता है। साथ ही, यह स्वतंत्र स्केलिंग देता है ताकि प्रत्येक सेवा को उसकी ज़रूरत के अनुसार संसाधन मिलें। यह संदेशों को एन्क्रिप्ट करके और कई सर्वरों में संग्रहीत करके सुरक्षा और स्थायित्व भी बढ़ाता है।
इस क्यूइंग सिस्टम के बारे में और जानने के लिए हमारा SQS व्यापक ट्यूटोरियल देखें।