หากคุณใช้ฟังก์ชั่นคลาวด์แบบไม่มีเซิร์ฟเวอร์ไม่ว่าจะเป็น AWS หรือ Google Cloud คุณจะรู้ว่าความเจ็บปวดของความเย็นเริ่มต้นขึ้น ฟังก์ชั่น Firebase มีชื่อเสียงในการมีปัญหาการเริ่มต้นเย็นและก่อนหน้านี้เราได้เขียนเกี่ยวกับ Firebase Chilly Begin Options– โซลูชันเหล่านี้ส่วนใหญ่ต้องการการเขียนโค้ดของคุณใหม่เช่นโมดูลนำเข้าแบบไดนามิกหรือฟังก์ชั่น Google Cloud ใหม่ V2 ซึ่งอนุญาตให้อินสแตนซ์ Node.js จัดการกับคำขอหลายรายการ
Firebase ออกจากสีน้ำเงิน ประกาศอย่างลับ ๆ ล่อ ๆ คุณสมบัติใหม่ที่จะช่วยในการเริ่มต้นเย็น preferRest–
ขณะนี้ Cloud Firestore API รองรับ
preferRestการตั้งค่าเพื่อบังคับให้ใช้การขนส่งที่เหลือจนกว่าการดำเนินการจะต้องใช้ GRPC
สิ่งนี้หมายความว่าอย่างไร? ซ่อนอยู่ใน ตั๋ว Firebase GitHub คือคำอธิบาย:
มีปัญหาที่ยาวนานกับเวลาเริ่มต้นที่ช้ามากเมื่อใช้ไลบรารี NodeJS Firestore อย่างเป็นทางการในสภาพแวดล้อมที่ไม่มีเซิร์ฟเวอร์: https://issuetracker.google.com/points/158014637– ปรากฏว่าปัญหาพื้นฐานนั้นยากมากที่จะแก้ไข (ดังนั้นปัญหา P1/S1 ที่ยังไม่ได้รับการแก้ไขอายุ) และการแก้ไขชั่วคราวที่เหมาะสมนั้นเกินกำหนดนาน
ทางออกหนึ่งคือการใช้ Firestore REST API โดยตรง สิ่งนี้ช่วยปรับปรุงเวลาเริ่มต้นที่เย็นชาอย่างมาก แต่ด้วยค่าใช้จ่ายของประสบการณ์นักพัฒนาที่เสื่อมโทรมอย่างจริงจัง มีความพยายามอย่างน้อยหนึ่งคนโดยผู้ใช้ Firestore ในการสร้างห้องสมุด wrapper ที่ไม่เป็นทางการ (https://github.com/bountyrush/nodejs-firestore– ห้องสมุดนี้ทำงานได้ แต่ได้รับการดูแลโดยนักพัฒนาคนเดียวและไม่ได้ทดแทนห้องสมุดอย่างเป็นทางการด้วยเหตุผลที่ชัดเจน
โดยพื้นฐานแล้วการไม่มีค่าใช้จ่ายของ GRPC และการใช้การโทรหา Firestore โดยตรงคุณสามารถเร่งเวลาเริ่มต้นของ Firebase Chilly
วิธีการใช้งาน Firestore Relaxation Name ด้วย preferrest
เราพูดถึงก่อนการเปิดตัว“ ลอบ” และเราหมายถึงมัน มีวิธีใหม่ในการเริ่มต้น Firestore ในฟังก์ชั่นของคุณที่ไม่ได้กล่าวถึงในทางการ เอกสาร Firebase–
โดยปกติคุณจะเริ่มต้น firestore ใน node.js (ดูเอกสารสำหรับตัวอย่างภาษาการเขียนโปรแกรมอื่น ๆ ) โดยทำสิ่งต่อไปนี้:
const { initializeApp, applicationDefault, cert } = require('firebase-admin/app');
const { getFirestore, Timestamp, FieldValue } = require('firebase-admin/firestore');
initializeApp({
credential: applicationDefault()
});
const db = getFirestore();
ใช้ getFirestore() ฟังก์ชั่นเพื่อสร้างอินสแตนซ์ฐานข้อมูล
หากคุณต้องการตั้งค่า preferRestคุณต้องเริ่มต้น Firestore แตกต่างกันเล็กน้อยด้วย initializeFirestore–
const { initializeApp, applicationDefault, cert } = require('firebase-admin/app');
const { initializeFirestore, Timestamp, FieldValue } = require('firebase-admin/firestore');
const app = initializeApp({
credential: applicationDefault()
});
const db = const db = initializeFirestore(app, { preferRest: true });
ผ่านการเริ่มต้น app และวัตถุ { preferRest: true }– ง่ายๆ!
นี่เป็นคุณสมบัติใหม่ดังนั้นอย่าลืมทดสอบผ่านก่อนที่จะเปิดตัวการผลิต ดังที่ Firebase Fan ที่ชื่นชอบ PUF พูดว่า“ ฉันยังไม่ได้ลองเลย”
เกี่ยวกับ Ayrshare
Ayrshare เป็น โซเชียลมีเดีย API ที่ช่วยให้คุณเผยแพร่โพสต์รับการวิเคราะห์จัดการความคิดเห็นและส่งข้อความโดยตรงบนเครือข่ายสังคมออนไลน์โดยตรงจากแพลตฟอร์มของคุณ เรียนรู้เพิ่มเติมใน เอกสาร API โซเชียลมีเดีย–

