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

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

Cloud Functions for Firebase : คุณเขียนและปรับใช้ฟังก์ชัน ซึ่งเป็นโค้ดแบ็กเอนด์ที่ตอบสนองต่อทริกเกอร์เฉพาะ จากนั้น เมื่อใช้ Firebase Hosting คุณสามารถส่งคำขอ 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 และนำเสนอสภาพแวดล้อมแบบ Serverless ที่มีการจัดการเต็มรูปแบบ ปรับขนาดอัตโนมัติ และปลอดภัย ทั้งสองตัวเลือกสามารถใช้ประโยชน์ได้สำหรับกรณีการใช้งานที่แตกต่างกันและระดับการกำหนดค่าที่กำหนดเองที่ต้องการ

ตารางต่อไปนี้อธิบายข้อควรพิจารณาพื้นฐานบางประการสำหรับการใช้ Cloud Functions for 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 + ที่เก็บข้อมูลคอนเทนเนอร์รีจิสทรี

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