Hãy tưởng tượng: Phân đà Đặt Hàng gào thét gọi phân đà Thanh Toán, Thanh Toán lại phải gọi ngay cho Tiên Cước. Tất cả nói chuyện trực tiếp với nhau. Chỉ cần lão trưởng lão bên Thanh Toán đi vệ sinh, cả hệ thống lập tức đứng hình.
Khi quy mô tông môn phình to, việc phân chia thành nhiều phân đà nhỏ (Microservices) là tất yếu. Tuy nhiên, việc các phân đà gọi nhau trực tiếp qua Synchronous API (HTTP/gRPC) đã tạo nên một tử huyệt chí mạng: Huyết Mạch Liên Đới (Tight Coupling).
Trong cấu trúc này, chỉ một mắt xích gặp sự cố (Service Down, Network Latency, Slow Query), toàn bộ chuỗi truyền tin sẽ đứt gãy ngay lập tức. Một kẻ vấp ngã, cả đội hình xòe.
Để giải quyết tình trạng này, các đại năng AWS đã tạo ra hệ thống Tiên Âm Các (Messaging Services), áp dụng triết lý: Tách rời vạn vật (Decoupling). Không ai chờ ai, ai rảnh thì làm, ai bận thì cứ thong thả.
Trường phái SQS (Simple Queue Service) hoạt động như một bưu cục khổng lồ vô đáy. Thay vì đứng gào thét bắt phân đà khác phải làm ngay, đệ tử Đặt Hàng chỉ việc viết sớ rồi ném vào Hòm Thư SQS, sau đó quay đi làm việc khác.
- Người nhận thong dong (Polling): Phân đà nhận tin cứ tà tà lấy từng tờ sớ ra xử lý theo tốc độ của mình. Dù Black Friday có dồn ứ 1 triệu request, người nhận vẫn không bị "sốc sát thương" (Overload).
- Trường sinh bất tử: Tin nhắn nằm trong SQS cực kỳ an toàn. Chỉ khi người nhận xác nhận "đã hoàn thành" (DeleteMessage) thì tin nhắn mới biến mất. Mất điện, đứt mạng? Có điện lại rút ra xử lý tiếp.
SQS chính là tuyệt kỹ hấp thụ mọi đòn đánh bùng nổ (Traffic Spikes) và chuyển hóa chúng thành dòng chảy bình yên cho toàn hệ thống.
Khác với SQS âm thầm truyền thư tay cho một người cụ thể, SNS Phái (Simple Notification Service) lại chuộng phong cách ồn ào và hoành tráng hơn.
- Thuật Phóng Pháo (Publish/Subscribe): Khi có sự kiện chấn động (nạp tiền VIP, đơn hàng mới), hệ thống bắn một quả Pháo Sáng (Topic) lên bầu trời.
- Mạng lưới nghe lén (Subscribe): Các phân đà quan tâm (Tặng Quà, Gửi Email, Lưu Trữ) đã đăng ký ngước nhìn lên trời từ trước. Pháo nổ, tất cả đồng loạt nhận tin và hành sự cùng lúc (Fan-out).
- Tốc độ chớp nhoáng: Tin nhắn truyền đi ngay lập tức và không lưu trữ lâu dài. Đang ngủ không nhìn thấy pháo nổ coi như mất phần.
Tuyệt đỉnh của nghệ thuật truyền tin không nằm ở việc chọn SQS hay SNS riêng lẻ, mà là kết hợp cả hai tạo thành Đại Trận Fan-out:
Khi khách hàng chốt đơn, hệ thống bắn một quả pháo sáng SNS. Quả pháo sáng này không rơi thẳng vào các phân đà đang bận rộn, mà rơi thẳng vào 3 Hòm thư SQS của 3 phân đà: (1) SQS Thanh Toán, (2) SQS Kho Hàng, và (3) SQS Email.
Nhờ đó, tin tức vừa được phát đi rộng khắp ngay lập tức (SNS), lại vừa được bảo lưu an toàn không lo rơi rụng, ai rảnh lúc nào lấy ra xử lý lúc đó (SQS). Trận pháp này giúp các Tông môn AWS sống sót vững vàng qua những đợt đại hạ giá điên cuồng nhất.
| Tiêu chí | 📩 SQS Phái (Message Queue) | 🎆 SNS Phái (Pub/Sub) |
|---|---|---|
| Mô hình truyền | 1 - to - 1 (Thư tay trực tiếp) | 1 - to - Many (Pháo sáng phát thanh) |
| Phương thức nhận | Bị động kéo (Pull / Polling) | Chủ động đẩy (Push) |
| Thời gian lưu trữ | Lưu trữ tới 14 ngày | Không lưu trữ (Mất nếu offline) |
| Chống chịu quá tải | Tuyệt hảo (Buffer an toàn) | Kém hơn (Phụ thuộc sub) |
| Ứng dụng điển hình | Background Worker, Order Processing | Notification, Webhook, Broadcaster |
Bức tranh giang hồ AWS ngày càng kỳ ảo và phức tạp với hàng chục tầng lớp công pháp đan xen.
Bạn có muốn theo chân ta khám phá tiếp cách các Tông chủ xây dựng VPC (Virtual Private Cloud) để lập kết giới phòng ngự nghiêm ngặt bảo vệ tông môn khỏi Ma Tộc (Hackers)?