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 Eventarc và Pub/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 Run và Eventarc, 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 lâu hơn: Chạy khối lượng 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 khả 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 số lần 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ợ 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.
Vì 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 |
---|---|---|
Sổ đă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 |
|
Kích thước thực thể | RAM tối đa 8 GB với 2 vCPU | Tối đa 16 GiB 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:
- Chuyển đến trang Báo cáo Cloud Billing trong Google Cloud Console.
- 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.
- Trong bảng điều khiển Bộ lọc, trong phần Nhãn, hãy 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ệ 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 Analytics và Authentication cơ bản trong thế hệ 1 cùng với các hàm thế hệ 2.