เร่งความเร็วในการเริ่มต้นด้วย FireStore Chilly ด้วย Firestore Relaxation Calls

0
57


หากคุณใช้ฟังก์ชั่นคลาวด์แบบไม่มีเซิร์ฟเวอร์ไม่ว่าจะเป็น 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 พูดว่า“ ฉันยังไม่ได้ลองเลย”

ผู้เล่น YouTube

เกี่ยวกับ Ayrshare

Ayrshare เป็น โซเชียลมีเดีย API ที่ช่วยให้คุณเผยแพร่โพสต์รับการวิเคราะห์จัดการความคิดเห็นและส่งข้อความโดยตรงบนเครือข่ายสังคมออนไลน์โดยตรงจากแพลตฟอร์มของคุณ เรียนรู้เพิ่มเติมใน เอกสาร API โซเชียลมีเดีย

LEAVE A REPLY

Please enter your comment!
Please enter your name here