Phân phát nội dung động và dịch vụ vi mô lưu trữ bằng tính năng Lưu trữ Firebase

Firebase Hosting tích hợp với các tuỳ chọn điện toán không máy chủ, bao gồm cả Cloud Functions for FirebaseCloud Run. Khi sử dụng Firebase Hosting với các tuỳ chọn này, bạn có thể lưu trữ các dịch vụ vi mô bằng cách chuyển hướng các yêu cầu HTTPS để kích hoạt các hàm và ứng dụng được đóng gói trong vùng chứa chạy trong một môi trường an toàn, được quản lý.

Cloud Functions for Firebase: Bạn viết và triển khai một hàm, đây là mã phụ trợ phản hồi một điều kiện kích hoạt cụ thể. Sau đó, bằng cách sử dụng Firebase Hosting, bạn có thể chuyển hướng các yêu cầu HTTPS để kích hoạt hàm chạy.

Cloud Run: Bạn viết và triển khai một ứng dụng được đóng gói trong hình ảnh vùng chứa. Sau đó, bằng cách sử dụng Firebase Hosting, bạn có thể chuyển hướng các yêu cầu HTTPS để kích hoạt ứng dụng được đóng gói trong vùng chứa chạy.

Trường hợp sử dụng

Bạn có thể sử dụng các tuỳ chọn điện toán không máy chủ với Firebase Hosting bằng cách nào?

  • Phân phát nội dung động – Ngoài việc phân phát nội dung tĩnh trên trang web Hosting, bạn có thể phân phát các phản hồi được tạo động từ một hàm hoặc ứng dụng được đóng gói đang thực hiện logic phía máy chủ.

    Ví dụ: bạn có thể trỏ mẫu URL (như /blog/<blog-post-id>) đến một hàm sử dụng tham số mã bài đăng trên blog của URL để truy xuất nội dung một cách linh động từ cơ sở dữ liệu.

  • Tạo API REST – Bạn có thể tạo API dịch vụ vi mô bằng các hàm.

    Ví dụ: các hàm có thể xử lý chức năng đăng nhập cho trang web của bạn. Mặc dù trang web của bạn được lưu trữ tại /, nhưng mọi yêu cầu đến /api đều được chuyển hướng đến API dịch vụ vi mô của bạn. Ví dụ: hãy xem mẫu nguồn mở này.

  • Lưu nội dung động vào bộ nhớ đệm – Bạn có thể định cấu hình tính năng lưu vào bộ nhớ đệm của nội dung động trên một CDN toàn cầu.

    Ví dụ: nếu một hàm chỉ tạo nội dung mới theo định kỳ, bạn có thể tăng tốc ứng dụng bằng cách lưu nội dung đã tạo vào bộ nhớ đệm trong ít nhất một khoảng thời gian ngắn. Bạn cũng có thể giảm chi phí thực thi vì nội dung được phân phát từ CDN thay vì thông qua một hàm được kích hoạt hoặc ứng dụng được đóng gói.

  • Tạo bản xem trước ứng dụng một trang – Bạn có thể cải thiện SEO và tối ưu hoá tính năng chia sẻ trên nhiều mạng xã hội bằng cách tạo thẻ meta động. Để tìm hiểu thêm, hãy xem video này hoặc tham khảo mẫu nguồn mở này.

Chọn một tuỳ chọn không máy chủ

Mặc dù cả Cloud Functions for FirebaseCloud Run đều tích hợp với Firebase Hosting và cung cấp một môi trường không có máy chủ an toàn, tự động mở rộng quy mô và được quản lý đầy đủ, nhưng bạn có thể tận dụng hai tuỳ chọn này cho nhiều trường hợp sử dụng và cấp độ cấu hình tuỳ chỉnh mong muốn.

Khi sử dụng một trong hai tuỳ chọn không máy chủ, tốt nhất bạn nên đặt cùng vị trí với các máy chủ cho Firebase Hosting bằng cách triển khai ở một trong các khu vực sau:

  • us-west1
  • us-central1
  • us-east1
  • europe-west1
  • asia-east1

Bảng sau đây mô tả một số điểm cần cân nhắc cơ bản khi sử dụng Cloud Functions for Firebase so với Cloud Run. Để biết danh sách đầy đủ về hạn mức, giới hạn và chỉ số, hãy tham khảo tài liệu chi tiết của từng sản phẩm (Cloud Functions for Firebase hoặc Cloud Run).

Những điều cần cân nhắc Cloud Functions for Firebase Cloud Run
Thiết lập CLI Firebase gói nhiều tác vụ vào một lệnh duy nhất, từ việc khởi chạy đến tạo và triển khai. Vùng chứa cung cấp nhiều tuỳ chọn tuỳ chỉnh hơn, vì vậy, các tác vụ thiết lập, tạo bản dựng và triển khai sẽ bao gồm các bước riêng biệt.
Môi trường thời gian chạy Yêu cầu Node.js, nhưng bạn có thể chỉ định phiên bản Node.js sẽ sử dụng. Khi tạo vùng chứa, bạn sẽ chỉ định môi trường thời gian chạy.
Hỗ trợ ngôn ngữ và khung

JavaScript và TypeScript

Các khung web như Express.js được hỗ trợ.

Bất kỳ ngôn ngữ nào mà Dockerfile hỗ trợ, bao gồm cả Go, Node.js, Python, Java và các ngôn ngữ khác

Hỗ trợ các khung web cho từng ngôn ngữ.

Hết thời gian chờ cho yêu cầu Hosting 60 giây (xem Lưu ý bên dưới) 60 giây (xem Lưu ý bên dưới)
Đồng thời 1 yêu cầu cho mỗi thực thể hàm
(không có tính năng đồng thời cho mỗi thực thể)
Tối đa 1.000 yêu cầu đồng thời trên mỗi phiên bản vùng chứa
Thanh toán Cách sử dụng Cloud Functions

Hạn mức sử dụng miễn phí, nhưng bạn phải có tài khoản Cloud Billing. Xem Câu hỏi thường gặp về Firebase.

Mức sử dụng Cloud Run + Bộ nhớ Container Registry

Hạn mức sử dụng miễn phí, nhưng bạn cần có tài khoản Cloud Billing