Cloud Functions มีผลิตภัณฑ์ 2 เวอร์ชัน ได้แก่ Cloud Functions (รุ่นที่ 1) เวอร์ชันเดิม และ Cloud Functions (รุ่นที่ 2) ซึ่งเป็นเวอร์ชันใหม่ที่สร้างขึ้นจาก Cloud Run และ Eventarc เพื่อมอบชุดฟีเจอร์ที่เพิ่มประสิทธิภาพ หน้านี้จะอธิบายถึงฟีเจอร์ใหม่ที่เปิดตัวใน Cloud Functions (รุ่นที่ 2) และแสดงการเปรียบเทียบระหว่างผลิตภัณฑ์ทั้ง 2 เวอร์ชัน
เราขอแนะนำให้เลือก Cloud Functions (รุ่นที่ 2) สำหรับฟังก์ชันใหม่ทุกครั้งที่เป็นไปได้ อย่างไรก็ตาม เราวางแผนที่จะรองรับ Cloud Functions (รุ่นที่ 1) ต่อไป
ใหม่ใน Cloud Functions (รุ่นที่ 2)
Cloud Functions (รุ่นที่ 2) เป็นข้อเสนอ Functions-as-a-Service รุ่นถัดไปของ Firebase Cloud Functions (รุ่นที่ 2) ซึ่งสร้างขึ้นบน Cloud Run และ Eventarc จะมอบโครงสร้างพื้นฐานที่ปรับปรุงแล้วและการครอบคลุมเหตุการณ์ที่กว้างขึ้นให้กับ Cloud Functions ซึ่งรวมถึง
- เวลาในการประมวลผลคำขอนานขึ้น: เรียกใช้ภาระงานที่ขอนานขึ้น เช่น การประมวลผลสตรีมข้อมูลขนาดใหญ่จาก Cloud Storage หรือ BigQuery
- อินสแตนซ์ขนาดใหญ่ขึ้น: เรียกใช้ภาระงานในหน่วยความจำ ทรัพยากรในการประมวลผลที่หนักหน่วง และโหลดพร้อมกันที่มีขนาดใหญ่ขึ้น
- การเกิดขึ้นพร้อมกันที่ดียิ่งขึ้น: จัดการคำขอหลายรายการพร้อมกันด้วยอินสแตนซ์ฟังก์ชันเดียวเพื่อลด Cold Start และปรับปรุงเวลาในการตอบสนอง
- การจัดการการรับส่งข้อมูล: แยกการรับส่งข้อมูลระหว่างการแก้ไขฟังก์ชันต่างๆ หรือย้อนกลับฟังก์ชันกลับไปเป็นเวอร์ชันก่อนหน้า
- การผสานรวม Eventarc: การรองรับทริกเกอร์ Eventarc ในตัวซึ่งนำแหล่งที่มาของเหตุการณ์ทั้งหมดกว่า 90 รายการที่ Eventarc รองรับไปยัง Cloud Functions
- การรองรับ CloudEvents ที่กว้างขึ้น: รองรับ CloudEvents ที่เป็นมาตรฐานอุตสาหกรรมในรันไทม์ทุกภาษา ซึ่งจะมอบประสบการณ์การใช้งานที่สอดคล้องกันให้แก่นักพัฒนาซอฟต์แวร์
ดูรายละเอียดในตารางเปรียบเทียบ
เนื่องจาก Cloud Functions (รุ่นที่ 2) สร้างขึ้นบน Cloud Run ทำให้ Cloud Functions (รุ่นที่ 2) แชร์โควต้าทรัพยากรและขีดจำกัดกับ Cloud Run ดูโควต้า
ตารางเปรียบเทียบ
ฟีเจอร์ | Cloud Functions (รุ่นที่ 1) | Cloud Functions (รุ่นที่ 2) |
---|---|---|
รีจิสทรีอิมเมจ | Container Registry หรือ Artifact Registry | Artifact Registry เท่านั้น |
ระยะหมดเวลาของคำขอ | ไม่เกิน 9 นาที |
|
ขนาดอินสแตนซ์ | RAM สูงสุด 8 GB พร้อม vCPU 2 เครื่อง | RAM สูงสุด 16 GB พร้อม vCPU สูงสุด 4 ตัว |
การเกิดขึ้นพร้อมกัน | คำขอหลายรายการพร้อมกันต่ออินสแตนซ์ของฟังก์ชัน | คำขอพร้อมกันสูงสุด 1,000 คำขอต่ออินสแตนซ์ฟังก์ชัน |
ราคา
ดูข้อมูลราคาได้ที่ แพ็กเกจราคา Firebase
หากใช้ Cloud Functions (รุ่นที่ 2) คุณจะดูค่าใช้จ่ายที่เชื่อมโยงกับเฉพาะ Cloud Functions (รุ่นที่ 2) ได้ดังนี้
- ไปที่หน้ารายงานการเรียกเก็บเงินใน Cloud ในคอนโซล GCP
- หากได้รับข้อความแจ้ง ให้เลือกบัญชีสำหรับการเรียกเก็บเงินที่เชื่อมโยงกับโปรเจ็กต์ Google Cloud Platform ของคุณ
- ในแผงตัวกรอง ในส่วนป้ายกำกับ ให้เพิ่มตัวกรองป้ายกำกับด้วยคีย์
goog-managed-by
และค่าcloudfunctions
ข้อจำกัด
Cloud Functions for Firebase (รุ่นที่ 2) ไม่รองรับเหตุการณ์ Analytics
แม้ว่า Cloud Functions for Firebase (รุ่นที่ 2) จะรองรับเหตุการณ์การบล็อกการตรวจสอบสิทธิ์ แต่ก็ไม่รองรับเหตุการณ์การตรวจสอบสิทธิ์พื้นฐานชุดเดียวกันกับรุ่นที่ 1
อย่างไรก็ตาม เนื่องจากฟังก์ชันรุ่นที่ 1 และรุ่นที่ 2 สามารถอยู่ร่วมกันในไฟล์ต้นฉบับเดียวกันได้ คุณจะยังคงพัฒนาและทำให้ทริกเกอร์ Analytics และการตรวจสอบสิทธิ์พื้นฐานในเวอร์ชันที่ 1 ร่วมกับฟังก์ชันรุ่นที่ 2 ได้