Tính năng HTTP/gRPC server streaming cho Cloud Run

Tháng Sáu 4, 2021
Nga Pham

Google Cloud đã thông báo về tính khả dụng của chức năng server-side HTTP streaming cho các ứng dụng không máy chủ (serverless) đang chạy trên Cloud Run. Với khả năng kết nối mạng nâng cao này, dịch vụ Cloud Run của bạn có thể cung cấp các phản hồi lớn hơn (larger responses) hoặc truyền các phản hồi từng phần (partial responses) cho khách hàng trong khoảng thời gian của một yêu cầu đơn (single request), nhằm tối ưu thời gian phản hồi (server response times) của ứng dụng.

Với sự bổ sung này, giờ đây Cloud Run có thể:

  • Gửi phản hồi lớn hơn giới hạn 32MB trước đó.
  • Chạy các dịch vụ gRPC với server-streaming RPCs và gửi partial responses trong một request duy nhất – một sự mở rộng của hỗ trợ hiện tại cho unary (non-streaming) RPCs.
  • Phản hồi với các sự kiện được máy chủ gửi (server-sent events = SSE) mà bạn có thể tạo ra từ giao diện người dùng của mình bằng cách sử dụng API HTML5 EventSource.

Streaming responses

Streaming response (truyền trực tuyến phản hồi) giúp bạn phát triển các ứng dụng gửi phản hồi từng phần cho khách hàng khi phản hồi có sẵn, giúp các ứng dụng và trang web của bạn phản hồi nhanh chóng hơn. Nếu không có hỗ trợ truyền trực tuyến, tất cả các phản hồi phải được hoàn thiện trước khi chúng được gửi đến máy khách, điều này làm chậm thời gian thực hiện byte đầu tiên (time to frist byte – TTFB) của ứng dụng. Trong sơ đồ dưới đây, ba phản hồi được gửi từng phần tới ứng dụng khách gRPC.

HTTP:gRPC.png

Dưới đây là một số ví dụ các trường hợp server-side HTTP streaming:

  • Truyền các tập tin lớn (chẳng hạn như video) từ các ứng dụng serverless.
  • Long-running calculations (các tính toán xử lý lâu) có thể báo cáo bằng cách sử dụng một progress indicator (chỉ báo tiến trình).
  • Các công việc được xử lý hàng loạt (batch jobs) có thể trả về phản hồi trung gian hoặc hàng loạt phản hồi.

Hãy thử ngay: Serverless gRPC streaming

Streaming được hỗ trợ trong Cloud Run mang lại những cải tiến đáng kể về hiệu suất cho một số loại ứng dụng nhất định và đây mới chỉ là khởi đầu – hãy chú ý theo dõi những cải tiến mới của Google để kích hoạt nhiều tính năng hơn trong Cloud Run. Google Cloud đã phát triển một ứng dụng máy chủ gRPC mẫu mà bạn có thể triển khai cho tài khoản Google Cloud của mình bằng một cú nhấp chuột và chạy một ứng dụng khách để truyền trực tuyến phản hồi từ ứng dụng serverless trên nền tảng Cloud Run. Ngoài ra, bạn có thể phản hồi về tính năng này trên Stack Overflow hoặc trên trình theo dõi sự cố của Google Cloud.

Nguồn: Google Cloud Blog