Please enable JavaScript.
Coggle requires JavaScript to display documents.
Event-driven Architecture - Coggle Diagram
Event-driven Architecture
Pub/Sub :pencil2:
与同步
RPCs
(remote procedure calls)不同:不知道有哪些订阅者,也不关心订阅者执行何种操作
publishers
发布者
subscribers
订阅者
asynchronous
:red_flag:
Common use cases :checkered_flag:
Real-time event distribution
Replicating data among databases
Ingesting user interaction and server events
Parallel processing and workflows
Enterprise event bus
Data streaming
Refreshing distributed caches
Load balancing for reliability
GCP
:silhouette:
Pub/Sub service
默认,数据传送at least two zones
Message
Topic
Schema
Subscription
Publisher
Subscriber
Pub/Sub Lite service
便宜,可靠性低
Lifecycle:
1.Message 2.Message Storage 3. Subscription 4.Message 5. Ack 反馈之后删除message
Status of a message
Acknowledgedmessages
(acked)
所有subscription都收到反馈就删除
Unacknowledged messages
(unacked)
会持续发送信息,直到消息失效 expired
Negativelyacknowledgedmessages
(nacked)
表示消息处理失败,将重新投递
pattern
Load balanced (many-to-many)
Fan out (one-to-many)
Fan in (many-to-one)
AWS
:silhouette:
Amazon Simple Notification Service (Amazon
SNS
)
Publishers
Subscribers
email addresses
Amazon
SQS
queues
web servers
AWS Lambda functions
....................
SNS
Scenarios :checkered_flag:
Push email and text messaging
Mobile push notifications
Application and system alerts
Message Durability:和GCP类似,SNS会存储消息,分布在不同的zone :!:
Amazon Simple Queue Service (
SQS
)
Standard queues:最大吞吐量,发送可能不止一次
FIFO:保证消息顺序,保证只发一次