ให้บริการเนื้อหาแบบไดนามิกและไมโครเซอร์วิสของโฮสต์โดยใช้ Firebase Hosting

Firebase Hosting ผสานรวมกับตัวเลือกการประมวลผลแบบไร้เซิร์ฟเวอร์ รวมถึงฟังก์ชันคลาวด์สำหรับ Firebase และ Cloud Run เมื่อใช้ Firebase Hosting กับตัวเลือกเหล่านี้ คุณจะโฮสต์ไมโครเซอร์วิสได้โดยกำหนดคำขอ HTTPS เพื่อทริกเกอร์ฟังก์ชันและแอปที่มีคอนเทนเนอร์ให้ทำงานในสภาพแวดล้อมที่มีการจัดการและปลอดภัย

ฟังก์ชันคลาวด์สำหรับ Firebase : คุณเขียนและปรับใช้ฟังก์ชัน ซึ่งเป็นโค้ดแบ็กเอนด์ที่ตอบสนองต่อทริกเกอร์เฉพาะ จากนั้น เมื่อใช้ Firebase Hosting คุณสามารถสั่งคำขอ HTTPS เพื่อทริกเกอร์ฟังก์ชันให้ทำงานได้

Cloud Run : คุณเขียนและปรับใช้แอปพลิเคชันที่บรรจุอยู่ในคอนเทนเนอร์อิมเมจ จากนั้น เมื่อใช้ Firebase Hosting คุณจะกำหนดเส้นทางคำขอ HTTPS เพื่อทริกเกอร์แอปคอนเทนเนอร์ให้ทำงานได้

กรณีการใช้งาน

คุณจะใช้ตัวเลือกการประมวลผลแบบไร้เซิร์ฟเวอร์กับ Firebase Hosting ได้อย่างไร

  • ให้บริการเนื้อหาแบบไดนามิก — นอกเหนือจากการให้บริการเนื้อหาคงที่บนไซต์โฮสติ้งของคุณแล้ว คุณยังสามารถตอบสนองที่สร้างขึ้นแบบไดนามิกจากฟังก์ชันหรือแอปคอนเทนเนอร์ที่ทำงานตรรกะฝั่งเซิร์ฟเวอร์

    ตัวอย่างเช่น คุณสามารถชี้รูปแบบ URL (เช่น /blog/<blog-post-id> ) ไปยังฟังก์ชันที่ใช้พารามิเตอร์ ID โพสต์ในบล็อกของ URL เพื่อดึงเนื้อหาแบบไดนามิกจากฐานข้อมูลของคุณ

  • สร้าง REST API — คุณสามารถสร้าง microservice API ได้โดยใช้ฟังก์ชันต่างๆ

    ตัวอย่างเช่น ฟังก์ชันต่างๆ สามารถจัดการฟังก์ชันการลงชื่อเข้าใช้สำหรับเว็บไซต์ของคุณได้ ในขณะที่เว็บไซต์ของคุณโฮสต์อยู่ที่ / คำขอใดๆ ที่ส่งไปยัง /api จะถูกเปลี่ยนเส้นทางไปยัง microservice API ของคุณ ตัวอย่างเช่น ลองดู ตัวอย่างโอเพ่นซอร์สนี้

  • แคชเนื้อหาไดนามิก — คุณสามารถ กำหนดค่าการแคช เนื้อหาไดนามิกของคุณบน CDN ส่วนกลางได้

    ตัวอย่างเช่น หากฟังก์ชันสร้างเนื้อหาใหม่เป็นระยะๆ เท่านั้น คุณสามารถเร่งความเร็วแอปของคุณได้โดยการแคชเนื้อหาที่สร้างขึ้นเป็นระยะเวลาสั้นๆ เป็นอย่างน้อย คุณยังอาจลดต้นทุนการดำเนินการได้อีกด้วย เนื่องจากเนื้อหาจะแสดงจาก CDN แทนที่จะแสดงผ่านฟังก์ชันที่ทริกเกอร์หรือแอปที่มีคอนเทนเนอร์

  • แสดงผลแอปหน้าเดียวของคุณล่วงหน้า — คุณสามารถปรับปรุง SEO และเพิ่มประสิทธิภาพการแชร์บนเครือข่ายโซเชียลต่างๆ โดยการสร้าง meta แท็กแบบไดนามิก หากต้องการเรียนรู้เพิ่มเติม โปรดดู วิดีโอ นี้หรือดู ตัวอย่างโอเพนซอร์สนี้

การเลือกตัวเลือกแบบไร้เซิร์ฟเวอร์

แม้ว่าทั้ง ฟังก์ชันคลาวด์สำหรับ Firebase และ Cloud Run จะผสานรวมกับโฮสติ้งของ Firebase และนำเสนอสภาพแวดล้อมแบบไร้เซิร์ฟเวอร์ที่มีการจัดการเต็มรูปแบบ ปรับขนาดอัตโนมัติ และปลอดภัย แต่ทั้งสองตัวเลือกก็สามารถใช้ประโยชน์จากกรณีการใช้งานที่แตกต่างกันและระดับการกำหนดค่าแบบกำหนดเองที่ต้องการได้

เมื่อใช้ตัวเลือก Serverless ตัวใดตัวหนึ่ง จะเป็นการดีที่สุดที่จะวางตำแหน่งร่วมกับเซิร์ฟเวอร์สำหรับ Firebase Hosting โดยปรับใช้ในภูมิภาคใดภูมิภาคหนึ่งต่อไปนี้:

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

ตารางต่อไปนี้อธิบายข้อควรพิจารณาพื้นฐานบางประการสำหรับการใช้ฟังก์ชันคลาวด์สำหรับ Firebase เทียบกับ Cloud Run หากต้องการดูรายการโควต้า ขีดจำกัด และเมตริกทั้งหมด โปรดดูเอกสารประกอบโดยละเอียดของผลิตภัณฑ์แต่ละรายการ ( ฟังก์ชันคลาวด์สำหรับ Firebase หรือ Cloud Run )

การพิจารณา ฟังก์ชั่นคลาวด์สำหรับ Firebase คลาวด์รัน
ติดตั้ง Firebase CLI รวมงานหลายงานไว้ในคำสั่งเดียว ตั้งแต่การเริ่มต้นไปจนถึงการสร้างและการปรับใช้ คอนเทนเนอร์มีตัวเลือกที่ปรับแต่งได้มากขึ้น ดังนั้นงานการตั้งค่า สร้าง และปรับใช้จึงต้องมีขั้นตอนแยกกัน
สภาพแวดล้อมรันไทม์ ต้องใช้ Node.js แต่คุณสามารถระบุ เวอร์ชัน ของ Node.js ที่จะใช้ได้ เมื่อ สร้างคอนเทนเนอร์ คุณจะต้องระบุสภาพแวดล้อมรันไทม์
รองรับภาษาและกรอบงาน

จาวาสคริปต์และ TypeScript

รองรับเฟรมเวิร์กเว็บ เช่น Express.js

ภาษาใดๆ ที่ Dockerfiles รองรับ รวมถึง Go, Node.js, Python, Java และอื่นๆ

รองรับกรอบงานเว็บสำหรับแต่ละภาษา

หมดเวลาสำหรับคำขอโฮสติ้ง 60 วินาที (ดูหมายเหตุด้านล่าง) 60 วินาที (ดูหมายเหตุด้านล่าง)
เห็นพ้องต้องกัน 1 คำขอต่ออินสแตนซ์ฟังก์ชัน
(ไม่เกิดพร้อมกันต่ออินสแตนซ์)
คำขอพร้อมกันสูงสุด 1,000 รายการต่ออินสแตนซ์คอนเทนเนอร์
การเรียกเก็บเงิน การใช้งานฟังก์ชั่นคลาวด์

โควต้าการใช้งานฟรี แต่จำเป็นต้องมี บัญชี Cloud Billing ดู คำถามที่พบบ่อยของ Firebase

การใช้งาน Cloud Run + พื้นที่เก็บข้อมูล Container Registry

โควต้าการใช้งานฟรี แต่จำเป็นต้องมี บัญชี Cloud Billing