我們遇到了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-west1
和us-central1
。請引導我們到正確的數據中心位置。 但是後來我們將代碼重寫到Google Function中並得到了相同的結果。 請告訴我們,我們如何在Firebase請求中獲得更多可預測和可持續的延遲?