更新(2017年3月10日):雖然我下面概述架構仍然有效,可用於火力地堡與任何現有的基礎設施,火力地堡剛剛發佈Cloud Functions for Firebase,它允許你在運行JavaScript的功能相結合谷歌的響應Firebase事件的服務器(例如數據庫更改,用戶登錄等)。
的火力地堡應用的通用架構是相當在這篇博客Where does Firebase fit in your app?明確。
您建議的架構最接近架構3,您的客戶端代碼直接與Firebase 和直接對話,直接與您的node.js服務器通信。
我強烈建議您考慮選項2,其中客戶端和服務器之間的所有交互都通過Firebase運行。這種類型的體系結構的一個很好的例子是Flashlight search integration。客戶將其搜索查詢寫入Firebase數據庫。服務器監聽這些請求,執行查詢並將響應寫回數據庫。客戶端等待該響應。
此服務器的簡單輪廓依稀可辨:
var ref = new Firebase('https://yours.firebaseio.com/searches');
ref.child('requests').on('child_added', function(requestSnapshot) {
// TODO: execute your operation for the request
var responseRef = ref.child('responses').child(requestSnapshot.key());
responseRef.set(result, function(error) {
if (!error) {
// remove the request, since we've handled it
requestSnapshot.ref().remove();
}
});
})
利用這最後的辦法,客戶端從不直接會談到你的服務器,刪除所有樣的,你不必擔心潛在的問題。出於這個原因,我有時將它們稱爲「機器人」,而不是服務器。
好問題!正如您可能已經看到的,Firebase沒有與Cloud Code(尚未)的直接對應關係。我已經在下面描述/鏈接了一些方法。只是評論,如果有什麼不明確的! –
[你有沒有看過Rob Dodson的視頻,解釋如何使用Firebase和Polymer](https://youtu.be/1f_Tj_JnStA?t=12m52s)?我認爲這是一個非常強大的組合。 https://youtu.be/1f_Tj_JnStA?t=12m52s – Mowzer