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

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

  • Cloud Functions (thế hệ thứ 2), triển khai các hàm của bạn 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ứ nhất), phiên bản ban đầu của các hàm có số lượng trình 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 chức năng 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ệ thứ nhất).

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

Cloud Functions (thế hệ thứ 2)

Cloud Functions là dịch vụ Hàm dưới dạng dịch vụ (FaaS) thế hệ tiếp theo của Firebase. Được xây dựng trên Cloud RunEventarc, Cloud Functions (thế hệ thứ 2) mang đến cơ sở hạ tầng nâng cao và phạm vi bao phủ 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 xây dựng bằng Cloud Build và triển khai dưới dạng các dịch vụ Cloud Run bằng môi trường thực thi Cloud Run mặc định. Đ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 Cloud Run để khám phá các lựa chọn định cấu hình dịch vụ của bạn, 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 lâu hơn: Chạy các tải công việc có yêu cầu dài 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 phiên bản lớn hơn: Chạy các khối lượng công việc lớn hơn trong bộ nhớ, có mức sử dụng điện toán cao và 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 phiên bản hàm duy nhất để giảm thiểu số lần khởi động nguội và cải thiện độ trễ.
  • Quản lý lưu lượng truy cập: Chia lưu lượng truy cập giữa các bản sửa đổi chức năng khác nhau hoặc khôi phục một chức năng về phiên bản trước.
  • Tích hợp Eventarc: Hỗ trợ gốc cho các trình kích hoạt Eventarc, mang tất cả hơn 90 nguồn sự kiện mà Eventarc hỗ trợ đến Cloud Functions.
  • Hỗ trợ CloudEvents trên diện rộng: Hỗ trợ CloudEvents theo tiêu chuẩn ngành trong tất cả các thời gian chạy ngôn ngữ, mang đến 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à giới hạn tài nguyên với Cloud Run. Xem phần Định mức.

Bảng so sánh

Tính năng Cloud Functions (thế hệ thứ 1) Cloud Functions
Sổ đă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 bằng HTTP
  • Tối đa 9 phút đối với các hàm được kích hoạt bởi sự kiện
Kích thước phiên bản RAM tối đa 8 GB với 2 vCPU RAM lên đến 16 GiB với 4 vCPU
Đồng thời 1 yêu cầu đồng thời cho mỗi phiên bản hàm Tối đa 1.000 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 Các gói giá của Firebase.

Nếu sử dụng Cloud Functions, bạn chỉ 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 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 được liên kết với dự án Google Cloud của bạn.
  3. Trong bảng Bộ lọc, trong phần Nhãn, hãy thêm một 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ệ thứ 2) không hỗ trợ các sự kiện Analytics.

Mặc dù Cloud Functions for Firebase (thế hệ thứ 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 cơ bản Authentication như thế hệ thứ nhất.

Tuy nhiên, vì các hàm thế hệ thứ nhất và thế hệ thứ hai có thể cùng tồn tại 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 Analytics và các trình kích hoạt Authentication cơ bản trong thế hệ thứ nhất cùng với các hàm thế hệ thứ hai.