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

Tính năng 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 cả Chức năng đám mây cho Firebase và Cloud Run. Khi sử dụng tính năng Lưu trữ Firebase với các lựa 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 chức năng và ứng dụng trong vùng chứa của bạn để chạy trong một môi trường được quản lý, bảo mật.

Hàm đám mây dành cho Firebase: Bạn viết và triển khai một hàm, là mã phụ trợ phản hồi một điều kiện kích hoạt cụ thể. Sau đó, khi 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 hàm của mình 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 đó, khi 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 mình 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ủ thông qua 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ữ, 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 trong vùng chứa đang thực hiện logic phía máy chủ.

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

  • Xây dựng 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 /, mọi yêu cầu tới /api đều được chuyển hướng đến API dịch vụ vi mô của bạn. Để xem 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 chức 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 của mình 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 trong vùng chứa.

  • Hiển thị trước ứng dụng một trang – Bạn có thể cải thiện SEO và tối ưu hoá việc 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 xem mẫu nguồn mở này.

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

Mặc dù cả Chức năng đám mây dành cho FirebaseCloud Run đều tích hợp với tính năng Lưu trữ Firebase, đồng thời cung cấp một môi trường không máy chủ được quản lý hoàn toàn, tự động mở rộng quy mô và bảo mật, nhưng bạn có thể tận dụng 2 lựa chọn này cho nhiều trường hợp sử dụng và mức cấu hình tuỳ chỉnh mong muốn.

Khi sử dụng một trong hai lựa chọn không máy chủ, tốt nhất là bạn nên đặt cùng lúc với các máy chủ cho dịch vụ Lưu trữ Firebase 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ơ bản cần cân nhắc khi sử dụng Hàm đám mây cho Firebase so với Cloud Run. Để xem danh sách đầy đủ các mức giá, 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 (Hàm Cloud 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 động cho đến tạo và triển khai. Vùng chứa cung cấp nhiều lựa chọn tuỳ chỉnh hơn, vì vậy, các tác vụ thiết lập, xây dựng và triển khai 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 nào của 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

Khung web, như Express.js, được hỗ trợ.

Mọi ngôn ngữ mà Dockerfiles hỗ trợ, bao gồm Go, Node.js, Python, Java và các ngôn ngữ khác

Khung web cho từng ngôn ngữ được hỗ trợ.

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 năng đồng thời 1 yêu cầu cho mỗi thực thể hàm
(không có đồng thời cho mỗi thực thể)
Tối đa 1.000 yêu cầu đồng thời cho mỗi phiên bản vùng chứa
Thanh toán Mức sử dụng Chức năng đám mây

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

Mức sử dụng Cloud Run + Bộ nhớ trong Hồ sơ chứa vùng chứa

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