मुख्य सामग्री पर जाएँ

Amazon EventBridge: इवेंट-ड्रिवन आर्किटेक्चर के लिए एक गाइड

यह गाइड Amazon EventBridge का उपयोग कर स्केलेबल, इवेंट-ड्रिवन एप्लिकेशन बनाने में आपकी मदद करता है—व्यावहारिक उदाहरणों, सेटअप चरणों, और श्रेष्ठ प्रथाओं सहित।
· 11 मि॰ पढ़ें

AI के साथ खोजें

Amazon EventBridge एक शक्तिशाली सर्वरलेस इवेंट बस सेवा है जो डेवलपर्स को न्यूनतम ऑपरेशनल ओवरहेड के साथ इवेंट-ड्रिवन आर्किटेक्चर बनाने में सक्षम बनाती है. 

क्लाउड-नेटिव सिस्टम्स पर अपने कार्य में, मैंने देखा है कि स्केलेबल और मेंटेन करने योग्य एप्लिकेशन बनाने के लिए रीयल-टाइम रिस्पॉन्सिवनेस और सर्विस डिकप्लिंग कितने महत्वपूर्ण हैं—और EventBridge ठीक वही प्रदान करता है।

Amazon EventBridge क्या है?

कन्फ़िगरेशन में जाने से पहले, यह समझना महत्वपूर्ण है कि EventBridge क्या है, यह क्यों मायने रखता है, और AWS के व्यापक इवेंट-ड्रिवन टूल्स इकोसिस्टम में यह कैसे फिट बैठता है।

Amazon EventBridge का ओवरव्यू

Amazon EventBridge एक पूरी तरह प्रबंधित, सर्वरलेस इवेंट बस सेवा है जो एप्लिकेशनों को लगभग रीयल-टाइम में इवेंट्स के माध्यम से संचार करने देती है. 

यह इवेंट प्रोड्यूसर्स (परिवर्तनों के स्रोत, जैसे S3, DynamoDB, या कस्टम ऐप्स) और इवेंट कंज़्यूमर्स (जो इन परिवर्तनों पर कार्य करते हैं, जैसे Lambda, Step Functions, या SNS) के बीच इवेंट्स को रूट करने का कार्य सरल बनाता है।

चित्र जिसमें Amazon EventBridge द्वारा प्रोड्यूसर्स से कई टार्गेट्स तक इवेंट्स रूट करने का दृश्य आरेख है।

चित्र जिसमें Amazon EventBridge द्वारा प्रोड्यूसर्स से कई टार्गेट्स तक इवेंट्स रूट करने का दृश्य आरेख है। स्रोत: AWS Blogs

EventBridge को स्केलेबिलिटी और लचीलापन ध्यान में रखकर डिज़ाइन किया गया है. 

यह स्वतः लाखों इवेंट्स प्रति सेकंड संभालने के लिए स्केल करता है और JSON-आधारित नियमों के माध्यम से जटिल रूटिंग लॉजिक की अनुमति देता है।

कुछ प्रमुख क्षमताएँ इस प्रकार हैं:

  • 90 से अधिक AWS सेवाओं (जैसे, EC2, CodePipeline, CloudTrail) के साथ नैटिव इंटीग्रेशन
  • Zendesk, Shopify, और Datadog जैसे बाहरी SaaS इवेंट स्रोतों का समर्थन
  • इन-बिल्ट स्कीमा डिस्कवरी और रजिस्ट्री, जो स्वचालित रूप से इवेंट स्ट्रक्चर का पता लगाती और डॉक्यूमेंट करती है
  • इवेंट आर्काइविंग और रिप्ले, ताकि डिबगिंग, ऑडिटिंग, या पुराने इवेंट्स के रीप्रोसेसिंग का समर्थन हो सके

यह EventBridge को डिकप्ल्ड, रेज़िलिएंट क्लाउड आर्किटेक्चर बनाने का एक बुनियादी टूल बनाता है।

EventBridge और इवेंट-ड्रिवन आर्किटेक्चर

EventBridge इवेंट-ड्रिवन आर्किटेक्चर (EDA) मॉडल पर आधारित है।

EDA में, सर्विसेज़ एक-दूसरे को सिंक्रोनस कॉल करने के बजाय इवेंट्स को एमिट करने और उन पर प्रतिक्रिया देने के माध्यम से संचार करती हैं।

उदाहरण के लिए, किसी सर्विस द्वारा किसी अन्य सर्विस के API को कॉल कर टास्क शुरू कराने के बजाय, वह बस "ImageUploaded" जैसा इवेंट एमिट करती है, और उस इवेंट को सुनने वाली अन्य सर्विसेज़ उसके अनुसार प्रतिक्रिया देती हैं।

नीचे दी गई छवि इस सेटअप को दर्शाती है, जिसमें Amazon API Gateway केंद्रीय EventBridge इवेंट बस के लिए एक सुरक्षित एंट्री पॉइंट के रूप में कार्य करता है।

चित्र जिसमें Amazon API Gateway को कोर EventBridge बस के सुरक्षित एंट्री पॉइंट के रूप में दिखाया गया है।

चित्र जिसमें Amazon API Gateway को कोर EventBridge बस के सुरक्षित एंट्री पॉइंट के रूप में दिखाया गया है। स्रोत: AWS Blogs

इवेंट-ड्रिवन आर्किटेक्चर के लाभ:

चित्र जो इवेंट-ड्रिवन आर्किटेक्चर के फायदों को दर्शाता है।

चित्र जो इवेंट-ड्रिवन आर्किटेक्चर के फायदों को दर्शाता है।

  • ढीला कपलिंग (Loose coupling): सर्विसेज़ स्वतंत्र होती हैं और एक-दूसरे के अस्तित्व से अनभिज्ञ रहती हैं।
  • स्केलेबिलिटी: सिस्टम्स व्यक्तिगत कम्पोनेंट्स को स्वतंत्र रूप से स्केल कर सकते हैं।
  • फॉल्ट टॉलरेंस: सिस्टम के एक हिस्से में विफलता अन्य भागों तक नहीं फैलती।
  • असिंक्रोनस प्रोसेसिंग: रिस्पॉन्सिवनेस और सिस्टम प्रदर्शन में सुधार करती है।

EventBridge AWS पर EDA की रीढ़ की हड्डी के रूप में कार्य करता है, जिससे आप माइक्रोसर्विसेज़, क्लाउड संसाधनों, और यहां तक कि थर्ड-पार्टी सिस्टम्स को भी बिना टाइट कपलिंग के आपस में जोड़ सकते हैं।

> यदि आप AWS के इवेंट-ड्रिवन इकोसिस्टम की ठोस समझ बनाना चाहते हैं, तो AWS Cloud Technology and Services कोर्स का अन्वेषण करें।

EventBridge अन्य इवेंट-ड्रिवन विकल्पों से कैसे अलग है

AWS इवेंट और मैसेज हैंडलिंग के लिए कई टूल प्रदान करता है, लेकिन EventBridge में ऐसे विशिष्ट फीचर्स हैं जो इसे SNS और SQS जैसे विकल्पों से अलग बनाते हैं।

SNS (Simple Notification Service) 

SNS साधारण pub/sub मैसेजिंग के लिए उपयुक्त है।

आप किसी टॉपिक पर संदेश प्रकाशित कर सकते हैं और उसे कई सब्सक्राइबर्स—जैसे ईमेल, SMS, या Lambda—तक पहुंचा सकते हैं. 

हालाँकि, इसमें परिष्कृत रूटिंग और इवेंट फ़िल्टरिंग का अभाव है।

SQS (Simple Queue Service)

SQS मैसेज स्टोरेज और प्रोसेसिंग के लिए एक विश्वसनीय, स्केलेबल क्यू प्रदान करता है. 

कंज़्यूमर्स क्यू से संदेशों को पोल करते हैं, जो असिंक्रोनस, डिकप्ल्ड सिस्टम्स के लिए उपयोगी है, परंतु रीयल-टाइम पुश-आधारित रूटिंग का समर्थन नहीं करता।

EventBridge

EventBridge दोनों का सर्वश्रेष्ठ जोड़ता है—रीयल-टाइम रूटिंग, समृद्ध फ़िल्टरिंग, स्कीमा वैलिडेशन, और SaaS इंटीग्रेशन. 

यह जटिल, बड़े पैमाने के इवेंट-ड्रिवन सिस्टम्स के लिए डिज़ाइन किया गया है जिनमें लचीले नियम, अनेक टार्गेट्स, और सेवाओं में निर्बाध इंटीग्रेशन की आवश्यकता होती है।

CloudWatch Events

CloudWatch Events, EventBridge का पूर्ववर्ती था. 

EventBridge इसका नेक्स्ट-जनरेशन रिप्लेसमेंट है, जो जोड़ता है:

  • SaaS पार्टनर इंटीग्रेशन
  • कस्टम इवेंट बसें
  • स्कीमा डिस्कवरी और रजिस्ट्री
  • बेहतर नियम और परमिशन मैनेजमेंट

यदि आप अभी भी CloudWatch Events का उपयोग कर रहे हैं, तो अधिक समृद्ध क्षमताओं के लिए EventBridge पर माइग्रेट करने पर विचार करें।

यहाँ विभिन्न सेवाओं की एक त्वरित तुलना प्रस्तुत है:

फ़ीचर

SNS

SQS

EventBridge

डिलीवरी मॉडल

पुश (pub/sub)

पोलिंग (क्यू)

पुश (रूल-आधारित रूटिंग के साथ)

इवेंट फ़िल्टरिंग

बेसिक (मैसेज एट्रिब्यूट्स)

कोई नहीं

एडवांस्ड (JSON पैटर्न मैचिंग)

फैन-आउट सपोर्ट

हाँ

नहीं

हाँ

स्कीमा सपोर्ट

नहीं

नहीं

हाँ (स्कीमा रजिस्ट्री)

SaaS के साथ इंटीग्रेशन

सीमित

सीमित

हाँ (नैटिव SaaS इंटीग्रेशन)

इवेंट रिप्ले

नहीं

रिटेंशन के साथ

हाँ

डेड-लेटर क्यू (DLQ)

हाँ

हाँ

हाँ

Amazon EventBridge के कोर कम्पोनेंट्स और मुख्य फीचर्स

Amazon EventBridge का प्रभावी उपयोग करने के लिए, इसके मुख्य बिल्डिंग ब्लॉक्स को समझना आवश्यक है. 

ये कम्पोनेंट्स कम से कम इंफ्रास्ट्रक्चर ओवरहेड के साथ डायनेमिक, इवेंट-ड्रिवन वर्कफ़्लोज़ सक्षम करते हैं. 

नीचे प्रत्येक कम्पोनेंट, उसका कार्य, और उसके उपयोग का विस्तृत विवरण है।

इवेंट बसें

EventBridge के केंद्र में इवेंट बस होती है, जो वह माध्यम है जिसके माध्यम से सभी इवेंट्स प्रवाहित होते हैं. 

एक इवेंट बस AWS सेवाओं, कस्टम एप्लिकेशनों, या SaaS प्रदाताओं से इवेंट्स प्राप्त करती है, और फिर मैचिंग नियमों के आधार पर उन्हें उपयुक्त टार्गेट्स तक रूट करती है।

नीचे दी गई छवि AWS कंसोल में EventBridge Buses सेक्शन को दिखाती है।

चित्र जिसमें AWS कंसोल का स्क्रीनशॉट दिखाया गया है, जो EventBridge Buses सेक्शन दर्शाता है।

चित्र जिसमें AWS कंसोल का स्क्रीनशॉट दिखाया गया है, जो EventBridge Buses सेक्शन दर्शाता है।

इवेंट बसों के प्रकार

AWS के भीतर उपलब्ध इवेंट बसों के प्रकार इस प्रकार हैं:

डिफ़ॉल्ट इवेंट बस:

  • हर AWS अकाउंट में स्वतः प्रोविज़न की जाती है।
  • मुख्यतः AWS सेवाओं (जैसे EC2 स्टेट बदलाव या S3 इवेंट्स) से इवेंट्स प्राप्त करने के लिए उपयोग की जाती है।
  • यदि किसी अन्य बस की आवश्यकता नहीं है, तो आप अपने कस्टम इवेंट्स भी डिफ़ॉल्ट बस को भेज सकते हैं।

कस्टम इवेंट बसें:

  • आपके द्वारा विभिन्न डोमेन्स, सर्विसेज़, या वर्कलोड्स को सपोर्ट करने हेतु बनाई जाती हैं।
  • एप्लिकेशन इवेंट्स को आइसोलेट करने या डेवलपमेंट और प्रोडक्शन वातावरण को अलग करने के लिए आदर्श।
  • एक्सेस नीतियों और इवेंट रूटिंग पर अधिक सूक्ष्म नियंत्रण की अनुमति देती हैं।

उपयोग का उदाहरण:

विभिन्न डोमेन्स के लिए अलग-अलग इवेंट बसें बनाएं, जैसे ई-कॉमर्स ऑपरेशंस के लिए एक और एनालिटिक्स के लिए दूसरी, ताकि इवेंट फ्लो आइसोलेट और मैनेजेबल रहें।

कस्टम इवेंट बस बनाना:

aws events create-event-bus --name my-app-bus

रूल्स और टार्गेट्स को समझना

रूल्स तय करते हैं कि कौन से इवेंट्स किन टार्गेट्स तक रूट किए जाने चाहिए। 

ये बस पर आने वाले इवेंट्स को JSON पैटर्न मैचिंग से फ़िल्टर करते हैं और उन्हें एक या अधिक टार्गेट्स तक फॉरवर्ड करते हैं।

रूल्स के प्रमुख पहलू:

  • आप किसी भी इवेंट एट्रिब्यूट, जैसे source, detail-type, या नेस्टेड detail फ़ील्ड्स पर फ़िल्टर कर सकते हैं।
  • कई रूल्स एक ही इवेंट से मेल खा सकते हैं, जिससे फैन-आउट व्यवहार सक्षम होता है।
  • एकल रूल में कई टार्गेट्स हो सकते हैं, जिससे एक इवेंट समानांतर प्रोसेसिंग पाइपलाइनों को ट्रिगर कर सकता है।

समर्थित टार्गेट्स में शामिल हैं:

  • AWS Lambda
  • Step Functions
  • Kinesis Data Streams
  • SNS, SQS
  • ECS टास्क्स
  • API Gateway

चित्र जिसमें समर्थित टार्गेट्स के लिए AWS सेवा आइकॉन शामिल हैं।

चित्र जिसमें समर्थित टार्गेट्स के लिए AWS सेवा आइकॉन शामिल हैं।

निम्न उदाहरण दर्शाता है कि किसी इवेंट रूल को कैसे परिभाषित करें और उसे टार्गेट के रूप में Lambda फ़ंक्शन से कैसे लिंक करें:

aws events put-rule \
  --name "ImageUploadRule" \
  --event-pattern file://event-pattern.json \
  --event-bus-name my-app-bus

aws events put-targets \
  --rule "ImageUploadRule" \
  --targets "Id"="1","Arn"="arn:aws:lambda:region:account-id:function:ImageProcessor"

नमूना इवेंट पैटर्न (event-pattern.json):

{
  "source": ["myapplication.upload"],
  "detail-type": ["Image Uploaded"]
}

Pipes

EventBridge Pipes स्रोतों (जैसे DynamoDB Streams) और टार्गेट्स (जैसे SQS या Lambda) के बीच बिना कस्टम कोड के कनेक्शन सरल बनाते हैं।

नीचे दी गई छवि AWS कंसोल में EventBridge Pipes सेक्शन दिखाती है।

चित्र जिसमें AWS कंसोल का स्क्रीनशॉट दिखाया गया है, जो EventBridge Pipes सेक्शन दर्शाता है।

चित्र जिसमें AWS कंसोल का स्क्रीनशॉट दिखाया गया है, जो EventBridge Pipes सेक्शन दर्शाता है।

Pipes की मुख्य विशेषताएँ:

  • फ़िल्टरिंग: पाइप से गुजरने वाले इवेंट्स को सीमित करने के लिए इवेंट पैटर्न का उपयोग करें।
  • एनरिचमेंट: डिलिवरी से पहले इवेंट को समृद्ध करने हेतु Lambda फ़ंक्शन इनवोक करके संदर्भ जोड़ें।
  • ट्रांसफ़ॉर्मेशन: इनपुट ट्रांसफ़ॉर्मर्स का उपयोग कर इवेंट के आकार को बदलें।

Pipes कब उपयोग करें:

  • डेटा स्ट्रीम्स (जैसे, Kinesis या DynamoDB) को डाउनस्ट्रीम कंज़्यूमर्स से जोड़ना।
  • विभिन्न इवेंट फ़ॉर्मैट वाली AWS सेवाओं का इंटीग्रेशन।

Scheduler

EventBridge Scheduler समय-आधारित टास्क एक्ज़िक्यूशन सक्षम करता है, जो दैनिक बैकअप, प्रति घंटा डेटा सिंक्स, या शेड्यूल पर वर्कफ़्लोज़ ट्रिगर करने जैसी ऑटोमेशन के लिए उपयुक्त है।

नीचे दी गई छवि AWS कंसोल में EventBridge Scheduler सेक्शन दिखाती है।

चित्र जिसमें AWS कंसोल का स्क्रीनशॉट दिखाया गया है, जो EventBridge Scheduler सेक्शन दर्शाता है।

चित्र जिसमें AWS कंसोल का स्क्रीनशॉट दिखाया गया है, जो EventBridge Scheduler सेक्शन दर्शाता है।

मुख्य फीचर्स शामिल हैं:

  • वन-टाइम या रीकरींग एक्ज़िक्यूशन्स
  • क्रॉन एक्सप्रेशन्स या रेट-आधारित एक्सप्रेशन्स का समर्थन
  • टाइमज़ोन, स्टार्ट/एंड विंडोज़, और रिट्राई लॉजिक पर नियंत्रण

शेड्यूल्ड इवेंट बनाएं:

aws scheduler create-schedule \
  --name "DailyETLJob" \
  --schedule-expression "rate(1 day)" \
  --flexible-time-window '{"Mode":"OFF"}' \
  --target '{"Arn":"arn:aws:lambda:region:account-id:function:RunETL", "RoleArn":"arn:aws:iam::account-id:role/SchedulerExecutionRole"}'

यह शेड्यूल हर दिन RunETL Lambda फ़ंक्शन को इनवोक करता है।

स्कीमा रजिस्ट्री और इवेंट रिप्ले

स्कीमा रजिस्ट्री डेवलपर्स को इवेंट्स की संरचना समझने और डॉक्यूमेंट करने में मदद करती है. 

यह AWS सेवाओं और कस्टम एप्लिकेशनों से स्कीमा स्वतः खोजती है और उन्हें रजिस्ट्री में संग्रहीत करती है।

स्कीमा रजिस्ट्री के लाभों में शामिल हैं:

  • Java, Python, और TypeScript में स्ट्रॉन्गली टाइप्ड कोड बाइंडिंग्स जेनरेट करना।
  • इवेंट-ड्रिवन एप्लिकेशनों में स्थिरता में सुधार और पार्सिंग त्रुटियों में कमी।

इवेंट रिप्ले आपको बस पर इवेंट्स को आर्काइव करने और बाद में फिर से चलाने की अनुमति देते हैं. 

यह निम्न के लिए मूल्यवान है:

  • असफल वर्कफ़्लोज़ की डिबगिंग
  • बग फिक्स के बाद इवेंट्स को फिर से चलाना
  • खोए हुए या विलंबित डेटा प्रोसेसिंग की रिकवरी

चित्र जिसमें EventBridge द्वारा इवेंट्स रूटिंग का वैचारिक आरेख दर्शाया गया है।

चित्र जिसमें EventBridge द्वारा इवेंट्स रूटिंग का वैचारिक आरेख दर्शाया गया है. स्रोत: AWS Blogs

इवेंट आर्काइविंग सक्षम करें:

aws events create-archive \
  --archive-name "MyApplicationArchive" \
  --event-source-arn "arn:aws:events:region:account-id:event-bus/my-application-bus" \
  --retention-days 7

आर्काइव्ड इवेंट्स को रिप्ले करें:

aws events start-replay \
  --replay-name "MyReplay" \
  --source-arn "arn:aws:events:region:account-id:archive/MyApplicationArchive" \
  --destination "arn:aws:events:region:account-id:event-bus/my-application-bus"

ये कम्पोनेंट्स—इवेंट बसें, रूल्स, पाइप्स, शेड्यूलर, और स्कीमा रजिस्ट्री—मिलकर AWS पर मज़बूत इवेंट-ड्रिवन आर्किटेक्चर बनाने और प्रबंधित करने के लिए एक व्यापक, लचीला प्लेटफ़ॉर्म बनाते हैं. 

इनमें से प्रत्येक सर्विसेज़ को डिकप्ल करने, स्केलेबिलिटी में सुधार, और तेज़ एप्लिकेशन डेवलपमेंट सक्षम करने में एक अनूठी भूमिका निभाता है।

EventBridge के साथ इवेंट-ड्रिवन एप्लिकेशन बनाना

बुनियादी सेटअप के बाद, अब Amazon EventBridge को वास्तविक एप्लिकेशन वर्कफ़्लोज़ में लागू करने का समय है. 

अपने एप्लिकेशन में EventBridge सेट करना

AWS CLI का उपयोग करके अपने एप्लिकेशन से कस्टम इवेंट्स एमिट करने का तरीका यहाँ है:

aws events put-events --entries '[
  {
    "Source": "myapplication.media",
    "DetailType": "ImageUploaded",
    "Detail": "{\"bucket\": \"my-bucket-name\", \"key\": \"image.jpg\"}",
    "EventBusName": "default"
  }
]'

व्याख्या:

  • Source: एमिट करने वाली सर्विस का नाम या डोमेन।
  • DetailType: एमिट किए गए इवेंट का प्रकार।
  • Detail: पेलोड, जिसे स्ट्रिंगिफ़ाइड JSON के रूप में एन्कोड किया जाता है।
  • EventBusName: वह बस जो इवेंट प्राप्त और रूट करेगी।

आप इस लॉजिक को सीधे अपनी Lambda फ़ंक्शन्स, बैकएंड सर्विसेज़, या कंटेनराइज़्ड वर्कलोड्स में SDKs (जैसे, Boto3, AWS SDK for JavaScript) का उपयोग करके इंटीग्रेट कर सकते हैं।

AWS सेवाओं के बीच इवेंट्स रूट करना

AWS सेवाओं के बीच इवेंट्स रूट करना निर्बाध इंटीग्रेशन सक्षम करता है, जैसे EventBridge के माध्यम से S3 एक्शन्स से Lambda फ़ंक्शन्स को ट्रिगर करना।

उदाहरण परिदृश्य: Amazon S3 को EventBridge के माध्यम से एक Lambda फ़ंक्शन से जोड़ें।

चरण 01: एक S3 बकेट बनाएं और एक ऑब्जेक्ट अपलोड करें।

चरण 02: EventBridge के माध्यम से S3 इवेंट नोटिफिकेशंस सक्षम करें:

  • S3 बकेट पर जाएँ।
  • Event Notifications के अंतर्गत "EventBridge" विकल्प सक्षम करें।

चरण 03: इवेंट पैटर्न से मेल खाने के लिए EventBridge रूल बनाएं:

{
  "source": ["aws.s3"],
  "detail-type": ["Object Created"],
  "detail": {
    "bucket": {
      "name": ["my-bucket"]
    }
  }
}

चरण 04: अपलोड किए गए ऑब्जेक्ट को प्रोसेस करने के लिए रूल के टार्गेट के रूप में एक Lambda फ़ंक्शन संलग्न करें।

यह पैटर्न आपको बाद में अन्य टार्गेट्स जैसे Step Functions या नोटिफिकेशंस के लिए SNS जोड़कर प्रोसेसिंग का विस्तार करने देता है।

व्यावहारिक उदाहरण: इमेज अपलोड और रीसाइज़ वर्कफ़्लो

हम एक सामान्य इवेंट-ड्रिवन पाइपलाइन से गुजर सकते हैं:

01: उपयोगकर्ता S3 पर एक इमेज अपलोड करता/करती है।

02: S3 डिफ़ॉल्ट EventBridge बस को एक इवेंट एमिट करता है।

03: EventBridge s3:ObjectCreated:* के लिए रूल मैच करता है और उसे एक Lambda फ़ंक्शन तक रूट करता है।

04: Lambda इमेज का आकार बदलता है, उसे एक अलग S3 बकेट में सेव करता है, और आउटपुट लॉग करता है।

यह पैटर्न शक्तिशाली है क्योंकि:

  • यह स्केलेबल है (अर्थात, यह प्रति सेकंड हजारों इवेंट्स प्रोसेस कर सकता है)।
  • यह मॉड्यूलर है (अर्थात, आप अन्य कम्पोनेंट्स को छुए बिना इमेज रीसाइज़ फ़ंक्शन को बदल सकते हैं)।
  • यह समानांतरता की अनुमति देता है (अर्थात, आप उसी इवेंट को एक साथ एनालिटिक्स या नोटिफिकेशन पाइपलाइनों तक भेज सकते हैं)।

स्केलेबिलिटी और लचीलापन के लिए रूल्स जोड़ना

आप एक ही रूल से कई टार्गेट्स संलग्न करके आसानी से फैन-आउट कर सकते हैं:

aws events put-targets --rule image-uploaded \
  --targets '[
    {"Id": "resizeLambda", "Arn": "arn:aws:lambda:region:account-id:function:ResizeImage"},
    {"Id": "notifySNS", "Arn": "arn:aws:sns:region:account-id:ImageUploadedTopic"}
]'

यह आपके एप्लिकेशन को इवेंट प्रोसेस करने, उपयोगकर्ताओं को सूचित करने, और लॉग अपडेट करने की अनुमति देता है—वह भी समानांतर में—बिना इन कार्यों को आपस में जोड़े।

प्रदर्शन को अनुकूलित करना और सुरक्षा सुनिश्चित करना

अनावश्यक प्रोसेसिंग को कम करने और जोखिम घटाने वाले सटीक इवेंट पैटर्न डिज़ाइन करके प्रदर्शन और सुरक्षा का अनुकूलन करें।

कुशल इवेंट पैटर्न डिज़ाइन करना

ऐसे व्यापक या कैच-ऑल पैटर्न से बचें जो अनावश्यक एक्ज़िक्यूशन्स ट्रिगर करते हैं। इसके बजाय, इवेंट्स को सटीकता से फ़िल्टर करें:

{
  "source": ["myapplication.service"],
  "detail-type": ["ImageUploaded"],
  "detail": {
    "bucket": ["media-uploads"]
  }
}

इससे लागत घटती है, लेटेंसी बेहतर होती है, और केवल प्रासंगिक इवेंट्स ही प्रोसेस होते हैं।

मज़बूत सुरक्षा नियंत्रण लागू करना

किसी भी सर्वरलेस आर्किटेक्चर में सुरक्षा महत्वपूर्ण है। इन दिशानिर्देशों का पालन करें:

  • IAM का न्यूनतम विशेषाधिकार (least privilege) उपयोग करें: केवल वही परमिशन दें जो इवेंट पब्लिश या कंज़्यूम करने के लिए आवश्यक हों।
  • एन्क्रिप्शन सक्षम करें: EventBridge AWS KMS का उपयोग कर रेस्ट पर एन्क्रिप्शन का समर्थन करता है।
  • विफल डिलिवरी के लिए DLQs (Dead Letter Queues) लागू करें:
"DeadLetterConfig": {
  "Arn": "arn:aws:sqs:region:account-id:my-dlq"
}

DLQs डिलिवर न हो सकने वाले इवेंट्स को कैप्चर करती हैं, जिससे आप बाद में उनका निदान और पुन:प्रोसेस कर सकें।

> यदि आप क्लाउड एप्लिकेशन को सुरक्षित करने और AWS परमिशंस मैनेज करने में गहराई से जाना चाहते हैं, तो AWS Security and Cost Management कोर्स देखें।

लागत और सर्विस कोटा का प्रबंधन

लागत और प्रदर्शन को प्रभावी ढंग से प्रबंधित करने के लिए, EventBridge की प्राइसिंग मॉडल को समझना और सर्विस कोटाज़ की नियमित निगरानी करना महत्वपूर्ण है।

प्राइसिंग स्ट्रक्चर को समझना

आपसे बिलिंग इन आधारों पर होती है:

  • प्रकाशित इवेंट (प्रति मिलियन इवेंट्स पर $)
  • रिप्ले किए गए इवेंट
  • Pipe उपयोग
  • Scheduler जॉब्स

फ्री टियर में प्रति माह 100,000 इवेंट्स शामिल हैं, जो अधिकांश डेवलपमेंट और छोटे प्रोडक्शन उपयोग मामलों के लिए पर्याप्त है।

सर्विस कोटाज़ की मॉनिटरिंग और समायोजन

इनका उपयोग कर ट्रैक करें और वृद्धि का अनुरोध करें:

aws service-quotas list-service-quotas --service-code events

मॉनिटर करने योग्य प्रमुख कोटाज़:

  • प्रति इवेंट बस रूल्स
  • प्रति रूल टार्गेट्स
  • प्रति सेकंड इनवोकेशन्स

जिम्मेदारी से अपने उपयोग को स्केल करना सुनिश्चित करता है कि लोड बढ़ने पर आपका सिस्टम विश्वसनीय बना रहे।

एडवांस्ड EventBridge कन्फ़िगरेशन और विकल्प

अधिक जटिल इवेंट-ड्रिवन आर्किटेक्चर के लिए, नियंत्रण, सुरक्षा, और शेड्यूलिंग लचीलेपन को बढ़ाने हेतु एडवांस्ड EventBridge फीचर्स और वैकल्पिक पैटर्न पर विचार करें।

क्रॉस-अकाउंट इवेंट डिस्ट्रीब्यूशन

AWS अकाउंट्स के बीच सुरक्षित इवेंट शेयरिंग सक्षम करें:

{
  "Statement": [{
    "Effect": "Allow",
    "Principal": {"AWS": "arn:aws:iam::123456789012:root"},
    "Action": "events:PutEvents",
    "Resource": "arn:aws:events:region:account-id:event-bus/shared-bus"
  }]
}

उपयोग का ऑडिट करने और अनुपालन सुनिश्चित करने के लिए AWS CloudTrail का उपयोग करें।

EventBridge शेड्यूलर की एडवांस्ड विशेषताएँ

बेसिक शेड्यूलिंग से आगे बढ़ें, इनके साथ:

  • लचीली रिट्राई रणनीतियाँ
  • टाइम विंडो अनुपालन
  • cron या rate() एक्सप्रेशन्स का समर्थन

उदाहरण क्रॉन एक्सप्रेशन:

हर सोमवार सुबह 9:00 बजे एक वर्कफ़्लो ट्रिगर करें:

--schedule-expression "cron(0 9 ? * MON *)"

कब विकल्पों पर विचार करें

अपनी आवश्यकताओं के आधार पर, आप अन्य AWS सेवाओं पर विचार करना चाहेंगे जो विशिष्ट उपयोग मामलों के लिए बेहतर फिट हो सकती हैं. 

कुछ उदाहरण इस प्रकार हैं:

उपयोग मामला

विकल्प

FIFO या सख्त ऑर्डरिंग

Amazon SQS FIFO

उच्च थ्रूपुट और कम लेटेंसी

Amazon MSK (Kafka)

जटिल ऑर्केस्ट्रेशन

Step Functions

सरल नोटिफिकेशंस

Amazon SNS

निष्कर्ष

Amazon EventBridge आधुनिक, क्लाउड-नेटिव एप्लिकेशनों के लिए एक बुनियादी बिल्डिंग ब्लॉक है, जो आपको स्केलेबल, ढीले-संबद्ध सिस्टम बनाने, AWS और SaaS प्लेटफ़ॉर्म्स पर रीयल-टाइम इवेंट्स का प्रत्युत्तर देने, और न्यूनतम इंफ्रास्ट्रक्चर ओवरहेड के साथ वर्कफ़्लोज़ को इंटीग्रेट करने में सक्षम बनाता है. 

EventBridge के साथ सफल होने के लिए, मॉड्यूलर, इवेंट-आधारित डोमेन्स डिज़ाइन करने, न्यूनतम-विशेषाधिकार और डेड-लेटर क्यू सर्वोत्तम प्रथाओं को लागू करने, और उपयोग, कोटा, तथा लागत की सतत मॉनिटरिंग पर ध्यान केंद्रित करें।

यदि आप अपनी AWS विशेषज्ञता को गहरा करना चाहते हैं, तो AWS Cloud Practitioner कोर्स ट्रैक देखें!

FAQs

EventBridge, SNS और SQS से कैसे अलग है?

EventBridge रूल-आधारित फ़िल्टरिंग, स्कीमा सपोर्ट, और SaaS प्लेटफ़ॉर्म्स के साथ इंटीग्रेशन प्रदान करता है—ऐसी विशेषताएँ जो SNS या SQS में उपलब्ध नहीं हैं।

क्या EventBridge सर्वरलेस है?

हाँ, EventBridge एक पूरी तरह प्रबंधित, सर्वरलेस सेवा है जो इवेंट वॉल्यूम के आधार पर स्वतः स्केल करती है।

क्या मैं EventBridge का उपयोग Lambda फ़ंक्शन्स ट्रिगर करने के लिए कर सकता/सकती हूँ?

हाँ। EventBridge कस्टम रूल्स और फ़िल्टर्स के आधार पर इवेंट्स को Lambda फ़ंक्शन्स तक रूट कर सकता है।

EventBridge Pipes क्या हैं, और मुझे इनका उपयोग कब करना चाहिए?

Pipes, फ़िल्टरिंग, ट्रांसफ़ॉर्मेशन, और एनरिचमेंट के समर्थन के साथ स्रोतों और टार्गेट्स के बीच डायरेक्ट, पॉइंट-टू-पॉइंट इंटीग्रेशन की अनुमति देते हैं।

मैं अपने EventBridge वर्कफ़्लोज़ को कैसे सुरक्षित करूँ?

IAM नीतियों, एन्क्रिप्शन, और डेड-लेटर क्यूज़ का उपयोग करके अपनी इवेंट-ड्रिवन आर्किटेक्चर को सुरक्षित और मॉनिटर करें।

क्या EventBridge क्रॉस-अकाउंट इवेंट रूटिंग का समर्थन करता है?

हाँ, EventBridge रिसोर्स-आधारित नीतियों और परमिशन्स का उपयोग करके क्रॉस-अकाउंट इवेंट शेयरिंग का समर्थन करता है।

EventBridge Scheduler क्या है?

Scheduler रिट्राई लॉजिक और लचीले शेड्यूलिंग विकल्पों के साथ समय-आधारित इवेंट ट्रिगर्स के लिए एक इन-बिल्ट फीचर है।

EventBridge की प्राइसिंग कैसे काम करती है?

EventBridge में प्रकाशित, डिलीवर, और रिप्ले किए गए इवेंट्स की संख्या के आधार पर चार्ज लगता है, साथ ही एक उदार फ्री टियर उपलब्ध है।

क्या मैं EventBridge में पिछले इवेंट्स को रिप्ले कर सकता/सकती हूँ?

हाँ, इवेंट रिप्ले फ़ीचर का उपयोग कर, आर्काइव्ड इवेंट्स को ट्रबलशूटिंग या रीप्रोसेसिंग के लिए फिर से चलाया जा सकता है।

Don Kaluarachchi

लेखक

Don Kaluarachchi

मैं डॉन हूँ—कंसल्टेंट, डेवलपर, इंजीनियर, डिजिटल आर्किटेक्ट और लेखक (यानी, मैं कई भूमिकाएँ निभाता हूँ 👨‍💻🎩)। मुझे डिजिटल प्लेटफ़ॉर्म्स को सुचारू रूप से चलाना और उन्हें बेहतर बनाने के नए तरीके खोजना पसंद है। जब मैं कोड नहीं लिख रहा होता, तब मैं कृत्रिम बुद्धिमत्ता, डेटा विज्ञान और तकनीक से जुड़ी बातों पर लिखता हूँ।
 
सालों के दौरान, मैंने सॉफ़्टवेयर निर्माण और अनुकूलन से लेकर AI मॉडल परिनियोजन और क्लाउड समाधानों के डिज़ाइन तक हर तरह के काम किए हैं। मैंने Brunel University London से कृत्रिम बुद्धिमत्ता में मास्टर ऑफ़ साइंस और कंप्यूटर साइंस में बैचलर ऑफ़ साइंस की डिग्री प्राप्त की है।

विषय