So sánh các phiên bản Cloud Functions

Có hai phiên bản Cloud Functions for Firebase:

  • Cloud Functions (thế hệ 2), triển khai các hàm dưới dạng dịch vụ trên Cloud Run, cho phép bạn kích hoạt các hàm đó bằng EventarcPub/Sub.
  • Cloud Functions (thế hệ thứ 1), phiên bản gốc của các hàm có điều kiện kích hoạt sự kiện và khả năng định cấu hình hạn chế.

Bạn nên chọn Cloud Functions (thế hệ thứ 2) cho các hàm mới khi có thể. Tuy nhiên, chúng tôi dự định tiếp tục hỗ trợ Cloud Functions (thế hệ thứ 1).

Trang này mô tả các tính năng được giới thiệu trong Cloud Functions và bạn có thể so sánh giữa hai phiên bản sản phẩm.

Cloud Functions (thế hệ 2)

Cloud Functions là thế hệ tiếp theo của Firebase Cung cấp chức năng dưới dạng dịch vụ. Được tạo trên Cloud RunEventarc, Cloud Functions (thế hệ thứ 2) nâng cao cơ sở hạ tầng và phạm vi đưa tin rộng hơn về sự kiện trên Cloud Functions, bao gồm:

  • Được xây dựng trên Cloud Run: Các hàm được tạo bằng Cloud Build và triển khai dưới dạng dịch vụ Cloud Run. Chiến dịch này cho phép bạn tuỳ chỉnh chức năng của mình giống như Dịch vụ Cloud Run. Tham khảo tài liệu Cloud Run để khám phá các tuỳ chọn để định cấu hình dịch vụ của bạn, chẳng hạn như bộ nhớ giới hạn, môi trường biến, v.v. trước.
  • Thời gian xử lý yêu cầu dài hơn: Chạy khối lượng công việc yêu cầu lâu hơn như xử lý các luồng dữ liệu lớn từ Cloud Storage hoặc BigQuery.
  • Kích thước thực thể lớn hơn: Chạy trong bộ nhớ lớn hơn, dùng nhiều điện toán và tải công việc song song.
  • Cải thiện tính đồng thời: Xử lý nhiều yêu cầu đồng thời bằng một yêu cầu duy nhất thực thể của hàm để giảm thiểu quy trình khởi động nguội và cải thiện độ trễ.
  • Quản lý lưu lượng truy cập: Phân chia lưu lượng truy cập giữa các bản sửa đổi hàm khác nhau hoặc chuyển một hàm về phiên bản trước.
  • Tích hợp Eventarc: Hỗ trợ riêng cho Eventarc sự kiện kích hoạt, mang tất cả hơn 90 nguồn sự kiện do Eventarc hỗ trợ đến Cloud Functions.
  • Hỗ trợ CloudEvents rộng hơn: Hỗ trợ theo tiêu chuẩn ngành CloudEvents trong tất cả thời gian chạy ngôn ngữ, cung cấp trải nghiệm nhất quán cho nhà phát triển.

Xem bảng so sánh để biết thông tin chi tiết.

Cloud Functions triển khai các hàm dưới dạng dịch vụ trên Cloud Run, nên Cloud Functions chia sẻ hạn mức và hạn mức tài nguyên với Cloud Run. Xem phần Hạn mức.

Bảng so sánh

Tính năng Cloud Functions (thế hệ thứ 1) Cloud Functions
Đăng ký hình ảnh Container Registry hoặc Artifact Registry Chỉ vào Artifact Registry
Đã hết thời gian yêu cầu Tối đa 9 phút
  • Tối đa 60 phút đối với các hàm được kích hoạt qua HTTP
  • Tối đa 9 phút đối với các hàm được kích hoạt bằng sự kiện
Kích thước thực thể RAM lên tới 8GB với 2 vCPU Lên đến 16GiB RAM với 4 vCPU
Đồng thời 1 yêu cầu đồng thời cho mỗi thực thể hàm Tối đa 1000 yêu cầu đồng thời cho mỗi phiên bản hàm

Giá

Để biết thông tin về giá, hãy xem Gói giá của Firebase.

Nếu sử dụng Cloud Functions, bạn có thể xem các chi phí liên quan đến chỉ Cloud Functions như sau:

  1. Chuyển đến trang Báo cáo Cloud Billing trong bảng điều khiển Google Cloud.
  2. Nếu được nhắc, hãy chọn tài khoản thanh toán liên kết với Dự án trên Google Cloud.
  3. Trong bảng Bộ lọc, dưới mục Nhãn, thêm bộ lọc nhãn bằng khoá goog-managed-by và giá trị cloudfunctions.

Các điểm hạn chế

Cloud Functions for Firebase (thế hệ thứ 2) không hỗ trợ Analytics sự kiện.

Mặc dù Cloud Functions for Firebase (thế hệ thứ 2) có hỗ trợ tính năng chặn xác thực các sự kiện này không hỗ trợ cùng một nhóm sự kiện Authentication cơ bản như thế hệ thứ 1

Tuy nhiên, vì thế hệ 1 và thế hệ 2 có thể cùng tồn tại song song trong cùng một tệp nguồn, bạn vẫn có thể phát triển và triển khai các điều kiện kích hoạt Analytics cũng như Authentication cơ bản ở thế hệ 1 cùng với các hàm thế hệ 2.