Day 16: AWS | SNS (Simple Notification Service)

Day 16: AWS | SNS (Simple Notification Service)

What is SNS?

  • Amazon Simple Notification Service (SNS) is a fully managed messaging service provided by Amazon Web Services (AWS).

  • It enables you to build distributed and decoupled applications by allowing communication between different components or microservices.

  • SNS supports both pub/sub (publish/subscribe) and point-to-point messaging models.

What all are features of SNS?

  • Topics:

    • A topic is a communication channel to which messages can be sent.

    • Publishers send messages to topics, and subscribers receive messages from topics.

    • Subscribers can be endpoints such as Amazon Simple Queue Service (SQS) queues, AWS Lambda functions, HTTP/S endpoints, email/SMTP, and more.

  • Publishers:

    • Publishers are entities that send messages to SNS topics.

    • Messages can be in various formats, including text, JSON, or binary.

  • Subscribers:

    • Subscribers are entities that receive and process messages from SNS topics.

    • Each subscriber must have a protocol and endpoint type associated with it.

  • Protocols and Endpoints:

    • SNS supports various protocols for delivering messages, including:

      • Amazon Simple Queue Service (SQS)

      • AWS Lambda functions

      • HTTP/HTTPS endpoints

      • Email/SMTP

      • Short Message Service (SMS)

      • Application (for sending messages to mobile devices)

  • Message Filtering:

    • SNS allows you to filter messages based on attributes to control which subscribers receive specific messages.
  • Delivery Retry:

    • SNS automatically retries message deliveries if the initial attempt fails.
  • Message Attributes:

    • Messages can have optional attributes associated with them, providing additional metadata.