पाठ 23 / 28

Messaging: SQS और SNS

SQS queues से services को अलग करें और SNS topics से notifications fan out करें, और जानें कि कब कौन-सा उपयोग करना है।

Queue बनाम topic

SQS queue है: producers messages भेजते हैं और consumers अपनी गति से poll व process करते हैं, जिससे traffic spikes सँभलते हैं। SNS publish/subscribe है: एक message कई subscribers, जैसे SQS queues, Lambda functions, email या HTTP endpoints, तक पहुँचता है।

भेजना और प्राप्त करना

Consumers को process के बाद message delete करना चाहिए; वरना वह visibility timeout के बाद फिर दिखता है।

aws sqs send-message --queue-url $Q --message-body '{"orderId":"o1001"}'
aws sqs receive-message --queue-url $Q --wait-time-seconds 10
aws sqs delete-message --queue-url $Q --receipt-handle "$HANDLE"

लगातार विफल होने वाले messages पकड़ने के लिए dead-letter queue जोड़ें, और consumers को idempotent बनाएँ क्योंकि standard queues कम से कम एक बार deliver करती हैं।

त्वरित जाँच

त्वरित जाँच: कौन-सी service एक message को कई subscribers तक पहुँचाती है?

  • SNS
  • SQS
  • S3
  • IAM
Answer

SNS — SNS publish/subscribe है; SQS consumers के poll करने के लिए queue है।