Firebase Hosting ผสานรวมกับตัวเลือกการประมวลผลแบบ Serverless ซึ่งได้แก่ Cloud Functions for Firebase และ Cloud Run กำลังใช้ Firebase Hosting กับ ตัวเลือกเหล่านี้ คุณสามารถโฮสต์ Microservice โดยให้ทริกเกอร์คำขอ HTTPS ฟังก์ชันและแอปที่สร้างโดยใช้คอนเทนเนอร์เพื่อให้ทำงานในสภาพแวดล้อมที่มีการจัดการและปลอดภัยได้
Cloud Functions for Firebase: คุณเขียนและทำให้ ซึ่งเป็นโค้ดแบ็กเอนด์ที่ตอบสนองต่อทริกเกอร์ที่เฉพาะเจาะจง จากนั้นใช้ Firebase Hosting คุณกำหนดเส้นทางคำขอ HTTPS เพื่อเรียกใช้ฟังก์ชันได้ ที่จะเรียกใช้
Cloud Run: คุณเขียนและทำให้แอปพลิเคชันที่แพ็กเกจในอิมเมจคอนเทนเนอร์ใช้งานได้ จากนั้นเมื่อใช้ Firebase Hosting คุณจะ สามารถกำหนดให้คำขอ HTTPS เรียกให้แอปที่สร้างโดยใช้คอนเทนเนอร์ทำงาน
Use Case
คุณจะใช้ตัวเลือกการประมวลผลแบบ Serverless กับ Firebase Hosting ได้อย่างไร
แสดงเนื้อหาแบบไดนามิก — นอกเหนือจากการแสดงเนื้อหาคงที่ใน ไซต์ Hosting ของคุณ คุณสามารถแสดงคำตอบที่สร้างขึ้นแบบไดนามิกจาก หรือแอปที่สร้างโดยใช้คอนเทนเนอร์ซึ่งทำงานเชิงตรรกะฝั่งเซิร์ฟเวอร์
ตัวอย่างเช่น คุณสามารถชี้รูปแบบ URL (เช่น
/blog/<blog-post-id>
) ไปยัง ฟังก์ชันที่ใช้พารามิเตอร์รหัสบล็อกโพสต์ของ URL เพื่อดึงเนื้อหา แบบไดนามิกจากฐานข้อมูลของคุณสร้าง REST API - คุณสามารถสร้าง API ของไมโครเซอร์วิสได้โดยใช้ฟังก์ชัน
เช่น ฟังก์ชันต่างๆ สามารถจัดการฟังก์ชันการลงชื่อเข้าใช้สำหรับ เว็บไซต์ของคุณ แม้ว่าเว็บไซต์ของคุณจะโฮสต์อยู่ที่
/
แต่คำขอที่ส่งไปยัง/api
จะ เปลี่ยนเส้นทางไปยัง Microservice API ตัวอย่างเช่น ไปที่ ตัวอย่างแบบโอเพนซอร์สนี้แคชเนื้อหาแบบไดนามิก — คุณสามารถ กำหนดค่าการแคชเนื้อหาแบบไดนามิกใน CDN ทั่วโลก
ตัวอย่างเช่น หากฟังก์ชันสร้างเนื้อหาใหม่เป็นระยะๆ เท่านั้น คุณสามารถเร่งความเร็วของแอปได้โดยแคชเนื้อหาที่สร้างขึ้นไว้เป็นระยะเวลาสั้นๆ เป็นอย่างน้อย นอกจากนี้ คุณยังสามารถลดต้นทุนในการดำเนินการเนื่องจาก เนื้อหาจะแสดงจาก CDN มากกว่าผ่านฟังก์ชันที่ทริกเกอร์ หรือ ที่สร้างโดยใช้คอนเทนเนอร์
แสดงผลแอปแบบหน้าเดียวล่วงหน้า — คุณสามารถปรับปรุง SEO และเพิ่มประสิทธิภาพได้ การแชร์ผ่านเครือข่ายสังคมต่างๆ โดยการสร้างแท็ก
meta
แบบไดนามิก ดูข้อมูลเพิ่มเติมได้จากวิดีโอนี้ หรือดูตัวอย่างแบบโอเพนซอร์สนี้
การเลือกตัวเลือกแบบ Serverless
แม้ว่าทั้ง Cloud Functions for Firebase และ Cloud Run ผสานรวมกับ Firebase Hosting และมอบการจัดการครบวงจร การปรับขนาดอัตโนมัติที่ปลอดภัย เป็นสภาพแวดล้อมแบบ Serverless ทั้ง 2 ตัวเลือกสามารถนำมาใช้ประโยชน์ได้สำหรับกรณีการใช้งานที่แตกต่างกัน และกำหนดค่าการกำหนดค่าเองในระดับที่ต้องการ
เมื่อใช้ตัวเลือกแบบ Serverless ใดตัวเลือกหนึ่ง การวางตำแหน่งร่วมกับเซิร์ฟเวอร์สำหรับ Firebase Hosting นั้นดีที่สุดโดยการติดตั้งใช้งานในภูมิภาคใดภูมิภาคหนึ่งต่อไปนี้
us-west1
us-central1
us-east1
europe-west1
asia-east1
ตารางต่อไปนี้จะอธิบายข้อควรพิจารณาเบื้องต้นในการใช้ Cloud Functions for Firebase พบกับ Cloud Run ดูรายการโควต้า ขีดจํากัด และเมตริกทั้งหมดได้ที่เอกสารประกอบโดยละเอียดของผลิตภัณฑ์แต่ละรายการ (Cloud Functions for Firebase หรือ Cloud Run)
การพิจารณา | Cloud Functions for Firebase | Cloud Run |
---|---|---|
ตั้งค่า | Firebase CLI จะรวมงานหลายรายการไว้ในคําสั่งเดียว ตั้งแต่การเริ่มต้นไปจนถึงการสร้างและการติดตั้งใช้งาน | คอนเทนเนอร์มอบตัวเลือกที่ปรับแต่งได้มากขึ้น ดังนั้นให้ตั้งค่า สร้าง และ งานการติดตั้งใช้งานต่างๆ จะมีขั้นตอนที่แยกกัน |
สภาพแวดล้อมรันไทม์ | ต้องใช้ Node.js แต่คุณระบุเวอร์ชันของ Node.js ที่จะใช้ได้ | เมื่อสร้างคอนเทนเนอร์ คุณจะระบุสภาพแวดล้อมรันไทม์ |
การรองรับภาษาและเฟรมเวิร์ก | JavaScript และ TypeScript ระบบรองรับเว็บเฟรมเวิร์ก เช่น Express.js |
ทุกภาษาที่ Dockerfiles รองรับ รวมถึง Go, Node.js, Python, Java และอื่นๆ ระบบรองรับเว็บเฟรมเวิร์กสำหรับแต่ละภาษา |
ระยะหมดเวลาสำหรับคำขอ Hosting | 60 วินาที (ดูหมายเหตุด้านล่าง) | 60 วินาที (ดูหมายเหตุด้านล่าง) |
การเกิดขึ้นพร้อมกัน | 1 คำขอต่ออินสแตนซ์ของฟังก์ชัน (ไม่มีการเกิดขึ้นพร้อมกันต่ออินสแตนซ์) |
คำขอพร้อมกันสูงสุด 1,000 รายการต่ออินสแตนซ์คอนเทนเนอร์ |
การเรียกเก็บเงิน | Cloud Functions usage
โควต้าการใช้งานฟรี แต่ ต้องระบุบัญชี Cloud Billing โปรดดู คำถามที่พบบ่อยเกี่ยวกับ Firebase |
การใช้งาน Cloud Run +
พื้นที่เก็บข้อมูล Container Registry
โควต้าการใช้งานฟรี แต่ ต้องระบุบัญชี Cloud Billing |