Please enable JavaScript.
Coggle requires JavaScript to display documents.
Simple Notification Service - Coggle Diagram
Simple Notification Service
Khái niệm cơ bản
Event Producer: Chỉ gửi thông điệp đến một SNS Topic
Giới hạn
Tối đa 12,500,000 subscriptions cho mỗi topic.
Tối đa 12,500,000 subscriptions cho mỗi topic.
Event Receivers
Mỗi người đăng ký nhận tất cả các thông điệp (có tính năng lọc thông điệp)
Nhiều “subscriptions” lắng nghe thông báo từ SNS topic
Cách SNS hoạt động
Các hình thức nhận thông báo
Emails: Gửi thông báo qua email
Lambda: Kích hoạt hàm Lambda
SQS: Hàng đợi để nhận thông điệp
SMS & Mobile Notifications: Gửi thông báo qua SMS
Kinesis Data Firehose: Gửi dữ liệu đến Firehose
HTTP(S) Endpoints: Gửi thông điệp đến các điểm cuối HTTP(S).
Publish: Thông điệp được gửi đến SNS topic
SNS tích hợp với nhiều dịch vụ AWS
AWS Budgets: Cảnh báo về ngân sách.
S3 Bucket: Nhận thông báo về các sự kiện từ S3.
CloudFormation: Thông báo về thay đổi trạng thái
AWS DMS: Thông báo về bản sao mới.
Auto Scaling Group: Nhận thông báo từ nhóm tự động
DynamoDB, RDS Events: Nhận thông báo từ DynamoDB và RDS.
CloudWatch Alarms: Gửi cảnh báo từ CloudWatch
Cách xuất bản thông điệp
Direct Publish
Tạo một endpoint nền tảng.
Tạo một ứng dụng nền tảng
Xuất bản đến endpoint nền tảng
Topic Publish
Tạo một hoặc nhiều subscriptions
Tạo một hoặc nhiều subscriptions
Tạo một topic.
SNS và SQS: Fan Out
SQS cho phép: lưu trữ dữ liệu, xử lý trễ và thử lại công việc
Khả năng thêm nhiều SQS subscribers theo thời gian.
Hoàn toàn tách rời, không mất dữ liệu
Hỗ trợ giao hàng qua vùng (Cross-Region Delivery)
Một lần gửi đến SNS sẽ nhận thông điệp trong tất cả các hàng đợi SQS mà là subscribers.
Bảo mật
Kiểm soát truy cập
SNS Access Policies (giống như S3 bucket policies).
Hữu ích cho việc truy cập chéo tài khoản và cho phép các dịch vụ khác ghi vào topic SNS.
IAM policies để điều chỉnh quyền truy cập đến API SNS.
Mã hóa
Mã hóa khi lưu trữ sử dụng KMS keys.
Mã hóa phía khách hàng (nếu cần).
Mã hóa khi truyền qua HTTPS API
Ứng dụng thực tế
S3 Events đến nhiều hàng đợi
Chỉ có thể có một quy tắc sự kiện S3 cho mỗi kết hợp loại sự kiện và prefix
Sử dụng fan-out để gửi sự kiện S3 đến nhiều hàng đợi SQS
SNS đến Amazon S3 thông qua Kinesis Data Firehose
SNS có thể gửi đến Kinesis và đến S3
SNS FIFO Topic
FIFO (First In First Out):
Đảm bảo thứ tự thông điệp được gửi và nhận
Tính năng
Chỉ hỗ trợ hàng đợi SQS FIFO: Chỉ các hàng đợi SQS FIFO mới có thể là subscribers của SNS FIFO topic.
Thống lượng: Giới hạn throughput tương tự như SQS FIFO.
Khử trùng (Deduplication): Sử dụng Deduplication ID hoặc Content-Based Deduplication để loại bỏ các thông điệp trùng lặp.
Đặt hàng theo Message Group ID: Tất cả thông điệp trong cùng một nhóm sẽ được giữ thứ tự.
SNS FIFO + SQS FIFO: Fan Out
Kết hợp giữa fan out + ordering + deduplication
Khi bạn cần gửi thông điệp đến nhiều hàng đợi SQS FIFO đồng thời, đồng thời duy trì thứ tự và loại bỏ các thông điệp trùng lặp.
Chức năng: Một thông điệp được gửi đến SNS FIFO sẽ được phân phối đến tất cả các hàng đợi SQS FIFO mà là subscribers,