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

Dịch vụ Lưu trữ Firebase tích hợp với các giải pháp điện toán không máy chủ, bao gồm Cloud Functions cho Firebase và Cloud Run. Sử dụng tính năng Lưu trữ Firebase 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 đến kích hoạt các chức năng và ứng dụng trong vùng chứa của bạn để chạy trong môi trường an toàn, được quản lý.

Chức năng đám mây dành cho Firebase: Bạn viết và triển khai , đây là mã phụ trợ phản hồi một điều kiện kích hoạt cụ thể. Sau đó, sử dụng Dịch vụ Lưu trữ Firebase, bạn có thể chuyển hướng các yêu cầu HTTPS để kích hoạt chức năng của mình để chạy.

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

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

Làm cách nào để sử dụng các phương án điện toán không máy chủ với tính năng Lưu trữ Firebase?

  • 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 Lưu trữ của mình, bạn có thể phân phát các phản hồi được tạo động từ hoặc ứng dụng trong vùng chứa đ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 của mình.

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

    Chẳng hạn như các hàm có thể xử lý chức năng đăng nhập cho 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 đã chuyển hướng tới API dịch vụ vi mô của mình. 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 việc lưu nội dung động vào bộ nhớ đệm của nội dung động trên một mạng phân phối nội dung (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 của bạn 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 cụ thể. Bạn cũng có thể giảm được chi phí thực thi do nội dung được phân phát từ CDN thay vì qua chức năng được kích hoạt hoặc ứng dụng trong vùng chứa.

  • Kết xuất trước ứng dụng trang đơn – Bạn có thể cải thiện SEO và tối ưu hoá chia sẻ trên các mạng xã hội khác nhau bằng cách tạo thẻ meta động. Người nhận tìm hiểu thêm, hãy xem video này hoặc thanh toán mẫu nguồn mở này.

Chọn một phương án không máy chủ

Mặc dù cả Cloud Functions for Firebase và Tích hợp với Cloud Run Lưu trữ Firebase và cung cấp một giải pháp bảo mật, tự động mở rộng quy mô và được quản lý toàn diện môi trường không máy chủ, có thể tận dụng 2 phương án này cho các 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 phương án không máy chủ, tốt nhất là bạn nên cùng xác định vị trí phương thức này với các máy chủ cho Lưu trữ Firebase bằng cách triển khai tại 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ố cân nhắc cơ bản khi sử dụng Cloud Functions cho Firebase so với Cloud Run. Để có 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 dành cho Firebase hoặc Cloud Run).

Mức độ cân nhắc Chức năng đám mây dành cho Firebase Cloud Run
Thiết lập Firebase CLI nhóm nhiều tác vụ thành các lệnh duy nhất, từ khởi tạo để xây dựng và triển khai. Vùng chứa cung cấp nhiều lựa chọn dễ tuỳ chỉnh hơn, vì vậy, bạn có thể thiết lập, xây dựng và nhiệm vụ triển khai liên quan đến các bước riêng biệt.
Môi trường thời gian chạy Yêu cầu phải có Node.js, nhưng bạn có thể chỉ định trong đó phiên bản của Node.js để 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à Dockerfiles hỗ trợ, bao gồm Go, Node.js, Python, Java, v.v.

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

Thời gian chờ đối với yêu cầu Lưu trữ 60 giây (xem Ghi chú bên dưới) 60 giây (xem Ghi chú bên dưới)
Tính đồng thời 1 yêu cầu cho mỗi thực thể hàm
(không có mô hình đồng thời cho mỗi thực thể)
Tối đa 1.000 yêu cầu đồng thời cho mỗi thực thể 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 bắt buộc phải có tài khoản thanh toán Cloud. Xem Câu hỏi thường gặp về Firebase.

Mức sử dụng Cloud Run + Bộ nhớ của Cơ quan đăng ký vùng chứa

Hạn mức sử dụng miễn phí, nhưng Bạn phải có tài khoản thanh toán Cloud