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

โฮสติ้งของ 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