0

我們遇到了Firebase訪問延遲問題。 我們有使用Firebase SDK的Node.js應用程序。 在代碼中,我們向Firebase發出了請求的下一個結果: 1.通過GeoFire獲取密鑰 2.然後通過並行鍵獲取分支(從3到100)分支。 3.然後通過並行鍵從另一個實體獲取相同數量的分支。 在Javascript中方言的並行請求如下:Firebase訪問延遲

const cardsRefs = map(keys, (key) => this.db.ref('cards').child(key)); 
return Promise.all(map(cardsRefs, (ref) => { 
    return ref 
     .once('value') 
     .then((snapshot) => snapshot.val()) 
    }) 
); 

這一切,沒有這麼大,我想。 但它可能需要很長時間(高達5000毫秒)。我們不能確定這一次,因爲它有時可能是700毫秒,有時它可能會更多(高達5000毫秒)。我們預計Firebase在這一點上會有更多可預測的行爲。 首先,我們認爲錯誤選擇Google Cloud位置的延遲不穩定的原因(代碼是在Google Compute Engine上運行的)。我們嘗試從us-west1us-central1。請引導我們到正確的數據中心位置。 但是後來我們將代碼重寫到Google Function中並得到了相同的結果。 請告訴我們,我們如何在Firebase請求中獲得更多可預測和可持續的延遲?

回答

1

我們將後端功能遷移到雲端功能,情況有所改善。每個功能大約開始工作更快,持續1.5 - 2秒。目前,我們對這種情況感到滿意。