Shared Flashcard Set

Details

Decoupling Application Components
ACG notes on Decoupling Application Components section
20
Software
Not Applicable
06/12/2024

Additional Software Flashcards

 


 

Cards

Term
Coupling
Definition
Describes the dependencies between the components of an application; the interdependencies or connections between components of a system
Term
Tight Coupling
Definition
Refers to when there are dependencies between components - if one part of the process breaks down, the whole process and system could crumble
- usually seen in monolithic applications
Term
Loose Coupling
Definition
Describes when components operate independently - components within the same overall application can continue their work without effecting the others
- seen in microservices architectures
Term
How can you resolve coupling issues? What services support decoupling?
Definition
Use integration approaches so that the applications can speak to one another. This is done by queues, notifications, and events.
AWS services: SQS, SNS, EventBridge
Term
SQS
Definition
Simple Queue Service
Term
What is SQS?
Definition
A distributed message queuing system. It enables one component in the system to produce a message that another part of the component consumes.
Term
What are features of SQS?
Definition
- Allows us to DECOUPLE the components of an application so they are independent
- Pull-based and not push-based, which means that consumers pull messages when they are ready instead of messages being pushed out to the consumer
- Asynchronous
- Fields requests from user to consumer to keep one from being overwhelmed or if they are not always connected
Term
What is an example of SQS in action?
Definition
a pizza ordering app. A customer creates the order, which goes into SQS. The order sits in the queue, and then the next component notifies the kitchen to do something (start making the pizza). This is decoupling because the two components are not dependent on each other since SQS is serving as the middleman in the process. If the ordering component of the application goes down, the orders that have already been placed in the queue are not affected by the system outage for new orders.
Term
SNS
Definition
Simple Notification Service
Term
What is SNS used to do?
Definition
Used to send or push notifications like SMS messages and emails in plain text
Term
PubSub model
Definition
Publish and subscribe; Applications publish or push messages to a topic. Subscribers receive messages from a topic. A topic is an access point, allowing subscribers to receive notifications
Term
Topic
Definition
An access point, allowing subscribers to receive notifications
Term
SQS Standard Queues
Definition
- Default queue type
- Guarantees one message is delivered at least once
- Operates on a best-effort approach which means that messages are sent in the order they were received, but sometimes this leads to duplicate messages
Term
FIFO ordering
Definition
- First-in, First-out queuing
- The order of which messages are processed is done in strict order and do not have duplicates
- Good for banking transactions bc those have to happen in a strict order
Term
Short Polling with SQS
Definition
Used to check how many messages are in a queue. A response is returned immediately even if there are no messages in the queue
- there is still a cost to get the response even if the response is 0 messages in the queue
Term
Long Polling with SQS
Definition
Used to check on messages in a queue. Periodically polls the queue and only returns a response when a message is in the queue or the timeframe for the polling period is reached
- most cost effective option that saves money
- generally the preferred option for most use cases
Term
SES
Definition
Simple Email Service
Term
SES features
Definition
A cloud-based email service that can send richly formatted email messages from applications
- can send emails in bulk
- ideal for order delivery and marketing campaigns
- note: SES is HTML/rich email, SNS is plan text messages only
Term
EventBridge
Definition
- AWS service all about event driven architecture
- Events are changes in state which can be generated by services like EC2, CloudWatch, and CloudTrail
Rules match events and route them to the correct target
- Targets respond by taking some action, like sending an SNS notification
Term
Scheduled events
Definition
Part of EventBridge and event-driven architectures. Allows you to schedule an action in advance, like running a process once a week or month.
Supporting users have an ad free experience!