Open hoangquochung1110 opened 2 months ago
Communication Pattern | Primary AWS Services | Features | Use Cases |
---|---|---|---|
Point-to-Point (P2P) | Amazon SQS (Simple Queue Service) | • Standard queues (at-least-once delivery) • FIFO queues (exactly-once processing) • Message retention up to 14 days • Configurable visibility timeout • Dead-letter queue support |
• Task distribution • Order processing • Workload decoupling • Microservices communication • Background job processing |
Publish-Subscribe (Pub-Sub) | Amazon SNS (Simple Notification Service) Amazon EventBridge |
SNS: • Topics with multiple subscribers • Multiple delivery protocols • Message filtering EventBridge: • Event buses • Pattern matching rules • Schema registry • SaaS integration |
• System alerts and notifications • Email/SMS distribution • Application events broadcasting • Cross-service communication • Integrating with external services |
Request-Reply | AWS Lambda with API Gateway AWS AppSync |
Lambda + API Gateway: • HTTP/REST/WebSocket APIs • Request validation • Response transformation AppSync: • GraphQL interface • Real-time data • Built-in authorization |
• Synchronous API calls • Web/mobile backends • Real-time applications • Query-based data access |
Channel Pattern | AWS Implementation | Key Capabilities |
---|---|---|
Competing Consumers | SQS with multiple worker instances (EC2, ECS, Lambda) |
• Automatic message distribution • Horizontal scaling of processing • Prevention of duplicate processing (with FIFO queues) |
Priority Channels | Multiple SQS queues with different polling strategies Amazon MQ (managed ActiveMQ/RabbitMQ) |
• Differential polling rates • Priority queues in Amazon MQ • Message sorting based on attributes |
Dead Letter Channels | SQS Dead-Letter Queues SNS Dead-Letter Queues Lambda failure destinations |
• Capture failed message processing • Configurable retry limits • Isolation of problematic messages |
Guaranteed Delivery | SQS FIFO queues Amazon MQ with persistent delivery |
• Message durability • Exactly-once processing • Transaction support in MQ |
Integration Pattern | AWS Services | Application |
---|---|---|
Message-Oriented Middleware (MOM) | Amazon MQ Amazon SQS & SNS |
• Traditional MOM capabilities • Support for JMS, AMQP, MQTT, STOMP • Enterprise messaging features |
Enterprise Service Bus (ESB) | AWS Step Functions EventBridge Amazon AppFlow |
• Workflow orchestration • Service integration • Data transformation • Routing logic |
Event-Driven Architecture (EDA) | EventBridge SNS Amazon Kinesis Lambda |
• Centralized event bus • Real-time event processing • Scalable event streaming • Serverless event handlers |
Communication Need | AWS Service | Key Features |
---|---|---|
Streaming Data | Amazon Kinesis Data Streams Amazon Kinesis Firehose |
• Real-time data ingestion • High-throughput streaming • Integration with analytics services |
IoT Communication | AWS IoT Core | • MQTT and HTTPS protocols • Device shadows • Rules engine for message routing |
Application Integration | Amazon AppFlow AWS Transfer Family |
• SaaS integration • B2B data transfer • Protocol translation |
Notification Delivery | Amazon Pinpoint Amazon SES |
• Multi-channel messaging • Email delivery • Campaign management |
Real-time Communication | Amazon IVS Kinesis Video Streams |
• Live video streaming • WebRTC support • Media processing |
Consideration | AWS Solutions | Details |
---|---|---|
Security | IAM, KMS, VPC endpoints | • Authentication and authorization • Encryption at rest and in transit • Network isolation |
Monitoring | CloudWatch, X-Ray, CloudTrail | • Metric collection • Distributed tracing • Audit logging |
Scaling | Auto Scaling, Provisioned Concurrency | • Automatic resource adjustment • Pre-warming for predictable loads |
Disaster Recovery | Multi-region deployment, Cross-region replication | • Service redundancy • Geographic distribution |
Cost Optimization | Serverless options, Reserved capacity | • Pay-per-use models • Discounted long-term commitments |
Hiểu về Các Kênh Giao Tiếp: Hướng Dẫn Toàn Diện
Các kênh giao tiếp tạo thành nền tảng của hệ thống phân tán hiện đại, cho phép các thành phần khác nhau trao đổi thông tin một cách hiệu quả. Hãy cùng khám phá các loại kênh giao tiếp cơ bản, đặc điểm và cách chúng được sử dụng trong thực tế.
Kênh Point-to-Point (Điểm-đến-Điểm)
Kênh point-to-point (P2P) thiết lập liên kết giao tiếp trực tiếp giữa chính xác hai điểm cuối - một người gửi và một người nhận.
Đặc điểm chính:
Hình ảnh thực tế:
Hãy nghĩ về kênh point-to-point như một cuộc gọi điện thoại giữa hai người. Thông điệp từ người gọi chỉ dành cho và được nhận bởi duy nhất một người.
Trường hợp sử dụng:
Ví dụ trong công nghệ:
Kênh Publish-Subscribe (Xuất bản-Đăng ký)
Kênh publish-subscribe (pub-sub) cho phép nhà xuất bản gửi thông điệp đến nhiều người đăng ký cùng một lúc mà không cần biết những người đăng ký đó là ai.
Đặc điểm chính:
Hình ảnh thực tế:
Hãy nghĩ về pub-sub như một chương trình phát thanh. Đài phát thanh (nhà xuất bản) truyền nội dung, và bất kỳ ai có radio điều chỉnh đến tần số đó (người đăng ký chủ đề đó) sẽ nhận được nội dung.
Trường hợp sử dụng:
Ví dụ trong công nghệ:
Kênh Request-Reply (Yêu cầu-Phản hồi)
Kênh request-reply đại diện cho mô hình hội thoại hai chiều trong đó người yêu cầu gửi thông điệp và mong đợi phản hồi.
Đặc điểm chính:
Hình ảnh thực tế:
Điều này giống như hỏi ai đó một câu hỏi và chờ đợi câu trả lời của họ.
Trường hợp sử dụng:
Ví dụ trong công nghệ:
Kênh Thông Điệp: Các Mô Hình Bổ Sung
Mẫu Người Tiêu Dùng Cạnh Tranh (Competing Consumers Pattern)
Kênh Ưu Tiên
Kênh Dead Letter (Thư Chết)
Kênh Giao Hàng Đảm Bảo
So Sánh Các Mẫu Kênh
Khía cạnh | Point-to-Point | Publish-Subscribe | Request-Reply -- | -- | -- | -- Cơ số | 1:1 | 1:N | 1:1 (hai chiều) Tiêu thụ thông điệp | Một lần bởi một người tiêu dùng | Nhiều lần bởi các người đăng ký khác nhau | Yêu cầu được tiêu thụ một lần, phản hồi trả về cho người gốc Kết nối | Lỏng lẻo nhưng trực tiếp | Rất lỏng lẻo | Kết nối chặt chẽ hơn Triển khai điển hình | Hàng đợi | Chủ đề | Thông điệp tương quan Thời gian sống của thông điệp | Cho đến khi tiêu thụ | Phụ thuộc vào cấu hình chủ đề | Cho đến khi phản hồi được tạo ra Trọng tâm trường hợp sử dụng | Phân phối công việc | Thông báo sự kiện | Gọi dịch vụCác Phong Cách Tích Hợp và Ứng Dụng Kênh
Message-Oriented Middleware (MOM)
Enterprise Service Bus (ESB)
Kiến Trúc Hướng Sự Kiện (Event-Driven Architecture - EDA)
Các Cân Nhắc Khi Chọn Mẫu Kênh
Yêu Cầu Độ Tin Cậy
Nhu Cầu Khả Năng Mở Rộng
Độ Nhạy Độ Trễ
Yêu Cầu Thứ Tự
Nhu Cầu Lưu Trữ
Khái Niệm Nâng Cao
Xử Lý Áp Lực Ngược (Back-Pressure)
Giao Hàng Đúng Một Lần (Exactly-Once)
Định Tuyến Dựa Trên Nội Dung
Cân Nhắc Triển Khai Thực Tế
Khi triển khai các kênh giao tiếp, hãy cân nhắc:
Hiểu các mẫu giao tiếp này cung cấp nền tảng cho việc thiết kế hệ thống phân tán mạnh mẽ, có thể mở rộng, có thể quản lý hiệu quả luồng thông tin giữa các thành phần.