Messaging and Integration Services Flashcards
Loose coupling
Defines the interdependencies or connections between components of a system. Helps reduce the risk of cascading failures between components.
What is Simple Queue Service (SQS)?
A message queuing service that allows you to build loosely coupled systems.
Messages in queues are processed in FIFO order
Allows component to component communication using messages
Multiple components (or producers) can add messages to the queue
Messages are processed in an asynchronous (don’t have to wait for a response) manner
What are some real world use cases for SQS?
Bx`uild a money transfer app that performs well under a heavy load. SQS lets you build an app that is loosely coupled, allowing components to send, store, and receive messages. The use of a messaging queue helps to improve performance and scalability.
Monolithic Application
Typically represents Tight coupling (a bad thing because they are highly dependent on each other)
Microservices
Loose coupled components are connected but NOT dependent on each other. So if one fails the other components remain up and running
What is Simple Notification Service (SNS)?
Allows you to send plain text emails and text messages from your applications or publish messages to a topic *know for the exam
What are some real world use cases for SNS?
Send an email when CPU utilization of an EC2 instance goes about 80%. SNS works with CloudWatch when an alarms metric threshold is breached to send an email.
Simple Email Service (SES)
Is an email service that allows you to send richly formatted HTML emails from your applications.
Ideal choice for marketing campaigns.
What are some real world use cases for SES?
Send a marketing email and track open or click-through rates
A company is developing a new web application that has high availability requirements. How can the company increase availability when deploying the application?
Utilize a multi-Region deployment when deploying the application. Multi-Region deployments are best for applications that have extremely high availability requirements.
Utilize a multi-Region deployment when deploying the application. Multi-Region deployments are best for applications that have extremely high availability requirements.