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ệ 1), phiên bản ban đầu của các hàm có trình kích hoạt sự kiện và khả năng định cấu hình bị hạn chế.

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

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

Cloud Functions (thế hệ 2)

Cloud Functions là dịch vụ Hàm dưới dạng dịch vụ (Function-as-a-Service) thế hệ mới của Firebase. Được xây dựng trên Cloud RunEventarc, Cloud Functions (thế hệ 2) mang đến cơ sở hạ tầng nâng cao và phạm vi sự kiện rộng hơn cho 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. Điều này cho phép bạn tuỳ chỉnh hàm của mình như cách bạn tuỳ chỉnh dịch vụ Cloud Run. Tham khảo tài liệu về Cloud Run để khám phá các tuỳ chọn định cấu hình dịch vụ, chẳng hạn như giới hạn bộ nhớ, biến môi trường, v.v.
  • Thời gian xử lý yêu cầu dài hơn: Chạy các tải công việc yêu cầu lâu hơn, chẳng 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 các khối lượng công việc lớn hơn trong bộ nhớ, chuyên về điện toán và song song.
  • Cải thiện tính năng đồng thời: Xử lý nhiều yêu cầu đồng thời bằng một thực thể hàm duy nhất để 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 tách lưu lượng truy cập giữa các bản sửa đổi hàm hoặc khôi phục một hàm về phiên bản trước đó.
  • Tích hợp Eventarc: Hỗ trợ gốc cho trình kích hoạt Eventarc, đưa tất cả hơn 90 nguồn sự kiện do Eventarc hỗ trợ vào Cloud Functions.
  • Hỗ trợ CloudEvents rộng hơn: Hỗ trợ CloudEvents theo tiêu chuẩn ngành trong tất cả môi trường thời gian chạy ngôn ngữ, mang lại trải nghiệm nhất quán cho nhà phát triển.

Hãy 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 chờ 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 tối đa 8 GB với 2 vCPU Lên đến 16GiB RAM với 4 vCPU
Tính đồng thời 1 yêu cầu đồng thời cho mỗi thực thể hàm Tối đa 1.000 yêu cầu đồng thời trên mỗi phiên bản hàm

Giá

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

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

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

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

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

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

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