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

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