All technological notes.
Application Integration
When we start deploying multiple applications, they will inevitably need to communicate with one another
There are two patterns of application communication
Synchronous communications (application to application)
Asynchronous / Event based (application to queue to application)
The common system or design pattern utilized for Application Integration are:
Simple Queueing Service (SQS) - Queuing, decouple, pull-basedMessaging System
Queueing System
Simple Queueing Service (SQS)

SNS - Pub/Sub, topic 分组, push-basedPub/Sub
Messages and events are interchangable terms in pub/sub.
Use Case:
Simple Notification Service (SNS)

Kinesis - real-time StreamingStreaming
Amazon Kinesis

Kinesis Data Streams: low latency streaming to ingest data at scale from hundreds of thousands of sourcesKinesis Video Streams: monitor real-time video streams for analytics or MLKinesis Data Analytics: perform real-time analytics on streams using SQLKinesis Data Firehose: load streams into S3, Redshift, ElasticSearch, etc…MQ- RabbitMQ and ActiveMQAmazon MQ is a managed message broker service for RabbitMQ and ActiveMQ.
Step Functions - State MachineState Machine
AWS Step Functions

EventBridge - Event Bus, scheduledEvent Bus

Amazon EventBridge (formerly CloudWatch Events)
Trigger Lambda functions, send SQS/SNS messages…
Amazon CloudWatch Events.Schema Registry: model event schemaYou can archive events (all/filter) sent to an event bus (indefinitely or set period)
Event Bus
Example:

API GatewayAPI Gateway
Amazon API Gateway


SQS:
SNS:
Kinesis:
Amazon MQ: