Catch up on highlights from Firebase at Google I/O 2023. Learn more

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

JavaScript และ TypeScript

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

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

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

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

โควต้าการใช้งานฟรี แต่ต้องมี บัญชีสำหรับการเรียกเก็บเงินในคลาวด์ ดู คำถามที่พบบ่อยเกี่ยวกับ Firebase

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

โควต้าการใช้งานฟรี แต่ต้องมี บัญชีสำหรับการเรียกเก็บเงินในคลาวด์