Bởi Danilo Poccia
Với Amazon SQS, bạn có thể gửi và nhận tin nhắn giữa các thành phần của phần mềm ở mọi quy mô. Đó là một trong những dịch vụ AWS đầu tiên tôi sử dụng và với tư cách là kiến trúc sư giải pháp, tôi đã giúp nhiều khách hàng tận dụng khả năng liên lạc không đồng bộ bằng cách sử dụng hàng đợi gói tin. Trên thực tế, Amazon SQS đã được cung cấp rộng rãi từ tháng 7 năm 2006 và luôn sử dụng cùng một giao thức dựa trên XML mà chúng tôi gọi là giao thức AWS Query.
Hôm nay, tôi vui mừng thông báo rằng Amazon SQS hiện hỗ trợ giao thức dựa trên JSON dành cho tất cả các API. Giao thức AWS JSON tránh được nhiều thiếu sót của giao thức AWS Query.
AWS JSON hiệu quả hơn giao thức dựa trên XML trước đó và có thể giảm cả độ trễ cũng như mức sử dụng CPU phía máy khách khi gửi và nhận gói tin SQS. Ví dụ: đối với một yêu cầu gửi thông báo “hello world” đơn giản, kích thước nội dung phản hồi sử dụng giao thức AWS Query cũ là khoảng 400 byte. Độ dài của nội dung cùng một phản hồi SendMessage sử dụng giao thức AWS JSON có kích thước nhỏ hơn 1/3 kích thước trước đó.
Sử dụng giao thức mới dựa trên JSON với Amazon SQS
Đây là phần hay nhất của lần ra mắt này! Để hưởng lợi từ giao thức AWS JSON, bạn chỉ cần cập nhật AWS SDK lên phiên bản mới nhất. Trong khi xây dựng tính năng mới này, nhóm SQS đã cẩn thận để không cần thay đổi code nào để sử dụng giao thức mới dựa trên JSON
Ví dụ: chúng ta đã kiểm thử bằng AWS SDK cho Java để so sánh các giao thức cũ và mới. Chúng ta mong đợi kết quả tương tự từ các AWS SDK khác. Dựa trên các bài kiểm tra hiệu năng của AWS đối với tải trọng gói tin 5KB, giao thức JSON dành cho Amazon SQS giúp giảm độ trễ xử lý tin nhắn hai đầu tới 23% và giảm mức sử dụng bộ nhớ, CPU phía client. Những con số này phụ thuộc vào việc triển khai thực tế và có thể khác với những gì bạn sẽ thấy trong ứng dụng của riêng mình.
Availability and Pricing
Amazon SQS hỗ trợ giao thức JSON hiện đã có sẵn trên tất cả các AWS region, nơi SQS được cung cấp. Tất cả các AWS SDK thông thường hiện có đều hỗ trợ AWS JSON cho SQS APIs. Để tận dụng tối ưu hóa này, bạn chỉ cần cập nhật AWS SDK lên phiên bản mới nhất hiện có.
Không có thay đổi về giá khi sử dụng AWS JSON. Để biết thêm thông tin, hãy xem tại Amazon SQS pricing.
Nếu muốn biết thêm chi tiết về cách hoạt động của các giao thức AWS, bạn có thể xem Smithy, ngôn ngữ chúng tôi sử dụng tại AWS để xác định các dịch vụ và SDK.
Sau gần 17 năm được cung cấp rộng rãi, chúng tôi đang cải tiến và đổi mới dịch vụ lâu đời nhất của mình. Chỉ vài tháng trước, chúng tôi đã giới thiệu tính năng mã hóa phía máy chủ bằng Amazon SQS-managed encryption keys (SSE-SQS) theo mặc định cho các hàng đợi mới tạo, tăng hạn mức mặc định cho chế độ thông lượng cao cho hàng đợi FIFO và thông báo hỗ trợ cho hàng đợi dựa trên thuộc tính. kiểm soát truy cập (ABAC) bằng cách sử dụng thẻ hàng đợi. Gần đây hơn, Amazon SQS đã thêm các API mới để quản lý việc khởi động lại dead-letter queue (DLQ). Tại AWS, it’s always day 1!