Có hai phiên bản 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 Eventarc và Pub/Sub.
- Cloud Functions (thế hệ thứ 1) là phiên bản hàm gốc có các 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 hàm mới bất cứ khi nào có thể. Tuy nhiên, chúng tôi dự định sẽ 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à 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ụ Functions-as-a-Service thế hệ tiếp theo của Firebase. Được xây dựng trên Cloud Run và Eventarc, Cloud Functions (thế hệ thứ 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 xây dựng bằng Cloud Build và triển khai dưới dạng Cloud Run dịch vụ 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 như cách bạn tuỳ chỉnh dịch vụ Cloud Run. Hãy tham khảo tài liệu về Cloud Run để khám phá các lựa 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 khối lượng 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ớ, tính toán chuyên sâu 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 thời gian 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 hàm khác nhau hoặc khôi phục hàm về phiên bản trước.
- Eventarc tích hợp: Hỗ trợ gốc cho các Eventarc trình 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ợ CloudEvents tiêu chuẩn ngành trong tất cả các 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, Cloud Functions chia sẻ hạn mức và giới hạn 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ỉ Artifact Registry |
| Hết thời gian chờ yêu cầu | Tối đa 9 phút |
|
| Tài khoản dịch vụ* | Tài khoản dịch vụ Google App Engine (PROJECT_ID@ |
Tài khoản dịch vụ tính toán mặc định của Google Cloud (PROJECT_NUMBER-compute@developer.gserviceaccount.com) |
| Kích thước phiên bản | Tối đa 8 GB RAM 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 trên mỗi phiên bản hàm | Tối đa 1000 yêu cầu đồng thời trên mỗi phiên bản hàm |
* Đây là tài khoản dịch vụ mặc định dùng để truy cập vào Firebase hoặc Cloud API từ một hàm đang chạy. Tài khoản này được SDK của Firebase dành cho quản trị viên sử dụng khi bạn khởi chạy mà không có đối số.
Giá
Để biết thông tin về giá, hãy xem các gói giá của Firebase.
Bạn có thể xem chi phí liên quan đến Cloud Functions như sau:
- Chuyển đến trang Cloud Billing Báo cáo trong bảng điều khiển Google Cloud.
- 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 trên đám mây của Google Cloud.
- Trong bảng điều khiển Bộ lọc, trong phần Nhãn,
hãy thêm bộ lọc nhãn có khoá
goog-managed-byvà giá trịcloudfunctions.
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 tập hợp các sự kiện Authentication cơ bản như thế hệ thứ 1.
Tuy nhiên, vì các hàm thế hệ thứ 1 và thế hệ thứ 2 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à Authentication trình kích hoạt cơ bản trong thế hệ thứ 1 cùng với các hàm thế hệ thứ 2.