我在做一個應用程序,將有:節點API架構上AWS
- iOS和Android應用
- 一個基於Web的「儀表板」,以顯示來自移動應用程序收集的數據
的應用程序需要最終用戶創建我們的帳戶(我們大多可能不會使用Facebook/Twitter的登錄)。
一切都/將使用EC2/RDS/S3(在彈性青苗所有封裝)
| Web Browser | <----> | sails.js app | <-------> |actionhero.js API|
⬆︎
⬆︎
| Mobile app(s) | <-------------------------------------/
到目前爲止,我已經建立了最actionhero.js後盾的API,託管AWS託管在AWS上。
這對我有意義的API和Web應用程序分開,因爲Web應用程序只適用於用戶的一小部分 - 我期望50X從我們對Web應用程序的移動應用程序的流量。我們可以縮放API以服務於移動用戶,而不會不必要地縮放sails.js應用程序。
我的問題是:
(biuggest未知)我應該如何處理身份驗證?
sails.js
應用程序需要能夠向API發出請求,移動應用程序也是如此。我正在尋找用於創建我們自己的Auth服務器的
oauth2orize
節點模塊,但它是爲Connect/Express設計的,所以我不認爲我可以在基於actionhero.js的API中利用它。如果解決方案是創建一個OAuth服務器,我應該來託管其自己的EC2實例?
(AWS-具體的問題)我不完全理解創造什麼AWS描述爲「一線工人」 enviornment使用情況。 API是否會屬於這一類別?
如果我想運行一個數據查詢和聚集的任務,我將創建一個單獨的節點處理是否正確?如果是這樣,這個後臺工作人員必須在自己的EC2實例上存在嗎?
Sails.js和Actionhero.js都提供了socket.io沉重的支持。 Sails應用程序和我的API之間的通信是否發生在持續的WebSocket連接上?如果我需要在未來創建新的實例,這是否會擴展?
這似乎是一個相當典型的模式;我想聽聽這個設計中是否有任何大紅旗,之前我把自己畫到一個角落裏。 :-) 謝謝!
獎金問題(具體以AWS彈性魔豆)
我將創建帆單獨的「應用程序」。JS服務器和API服務器?無論如何,看起來這是設置它的唯一方式,但我想確保。