EventBridge के साथ event-driven पैटर्न

AWS पर एप्लिकेशन डिप्लॉय करना

Dunieski Otano

Amazon Web Services Solutions Architect

एक ऑर्डर, चार प्रतिक्रियाएँ

  • एक ऑर्डर को billing, fulfillment, analytics, email तक पहुँचना चाहिए
  • सभी चार को direct कॉल नाज़ुक और धीमी हैं
  • एक event हर consumer तक fan out होता है

केंद्रीय टॉपिक से एक इवेंट का समानांतर में कई डाउनस्ट्रीम सेवाओं तक फैलना

AWS पर एप्लिकेशन डिप्लॉय करना

सही मैसेजिंग सेवाएँ चुनना

AWS मैसेजिंग सेवाओं का 2x2 ग्रिड: SQS queue के producer-consumer फ्लो, SNS pub/sub का कई सब्सक्राइबरों तक fanout, EventBridge event bus का rule-based रूटिंग, और Kinesis के ordered shards व replay

  • SQS: एक queue, एक consumer group, at-least-once
  • SNS: pub/sub, एक संदेश कई subscribers को push
  • EventBridge: content के आधार पर events को कई targets तक route करें
  • Kinesis Data Streams: ordered, replayable streaming
AWS पर एप्लिकेशन डिप्लॉय करना

Fanout पैटर्न

  • एक event को एक साथ कई consumers तक पहुँचना है
  • इसे SNS topic पर publish करें
  • हर SQS queue उस topic को subscribe करती है
  • हर consumer को उसकी अपनी copy मिलती है, decoupled

SNS-to-SQS fanout पैटर्न: एक SNS topic कई SQS queues को publish करता है, हर queue अपना consumer अपनी गति से serve करती है

AWS पर एप्लिकेशन डिप्लॉय करना

फ़िल्टरिंग ताकि consumers को वही मिले जो ज़रूरी है

  • फ़िल्टर के बिना, हर subscriber को हर event मिलता है
  • SNS subscription filter policies: message attributes से फ़िल्टर करें
  • EventBridge content filters: event फ़ील्ड्स पर match करें
  • हर consumer को सिर्फ़ वही events मिलते हैं जो प्रासंगिक हों

SNS subscription filter policy और EventBridge content filter: हर consumer को केवल उसके फ़िल्टर से matching events मिलते हैं, अनावश्यक प्रोसेसिंग और लागत घटती है

AWS पर एप्लिकेशन डिप्लॉय करना

EventBridge से रूटिंग

EventBridge रूटिंग डायग्राम: इवेंट बस कई स्रोतों से इवेंट लेती है, नियम इवेंट पैटर्न से मैच करते हैं, और matched इवेंट्स Lambda, SQS व अन्य targets तक रूट होते हैं

  • Event bus: कई sources से events प्राप्त करता है
  • Rule: कुछ events से match होने वाला event pattern
  • Target: matched events जहाँ भेजे जाते हैं
  • एक event कई targets तक route हो सकता है
AWS पर एप्लिकेशन डिप्लॉय करना

Kinesis Data Streams के साथ स्ट्रीमिंग

  • सतत, रियल-टाइम रिकॉर्ड फ्लो
    • shard के भीतर ordered रिकॉर्ड्स
    • Replayable: consumers किसी भी बिंदु से फिर पढ़ें
    • कई consumers उसी स्ट्रीम को स्वतंत्र रूप से पढ़ें
    • clickstream, telemetry, high-throughput डेटा के लिए उपयोग करें

Kinesis Data Streams आर्किटेक्चर: producers numbered shards में ordered रिकॉर्ड्स लिखते हैं, तीन consumers अलग स्थानों से स्वतंत्र रूप से पढ़ते हैं, rewind ऐरो replay क्षमता दिखाता है

AWS पर एप्लिकेशन डिप्लॉय करना

एक event consumer के रूप में Lambda

  • Lambda को SQS, SNS, EventBridge, Kinesis से trigger किया जा सकता है
  • Event source mapping आपके लिए SQS और Kinesis को poll करता है
  • SNS और EventBridge events को Lambda पर push करते हैं
  • near-real-time प्रोसेसिंग, बिना सर्वर मैनेज किए

चार इवेंट स्रोतों से ट्रिगर होती Lambda: event source mapping SQS और Kinesis को batches में poll करता है, जबकि SNS और EventBridge सीधे Lambda को events push करते हैं

AWS पर एप्लिकेशन डिप्लॉय करना

अभ्यास करते हैं!

AWS पर एप्लिकेशन डिप्लॉय करना

Preparing Video For Download...