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