2012-06-08 33 views
14

在對另一個question的解答中,注意到「部署到託管服務器的'流星部署'應用程序尚未提供任何有關擴展的保證或SLA。」因此,如果我想確保現在可以完全擴展,就排除了使用託管服務器的可能性。在Heroku上擴展流星應用程序

答案還指出:「使用'meteor bundle'生成的服務器包基本上是一個單一的進程應用程序,它取決於你將它連接到多個實例,或者你想實現自動縮放。

讀完之後,我對於縮放的問題還是很不清楚。在Heroku上,我假設我可以在dynos中運行「流星束」單進程應用程序。但是如果我使用許多運行Meteor服務器包的dynos,Meteor的設計是否可以將它們連接起來,以便它們都與同一數據同步(即使存在滯後)?

+0

我覺得流星保存它蒙戈例如在文件系統中。所以解決方案將配置爲使用外部數據庫。我不知道如何(: –

回答

5

在回答我自己的問題時,Meteor團隊已經公佈了一個roadmap,其中包括可擴展性計劃,將其納入Meteor 1.0。

+1

在可用之前,您可以使用Meteor Cluster - http://goo.gl/2aHJ2 –

2

流星還是很年輕的平臺。在可擴展性之前,我個人會提出安全問題,因爲Meteor現在在公開發布中沒有安全模型。也沒有提到Meteor文檔中的安全性,但Meteor團隊已經證實他們正在開發它,而未來的版本將會有它。看看這裏:https://stackoverflow.com/questions/10100813/when-can-we-expect-data-validation-and-security-in-meteor

所以我認爲你和我(用於安全實現)必須等待更多發佈,並且可能在1.0內部處理可伸縮性之前,或者發佈它們應該有文檔解釋如何做到這一點。爲了得到一些想法,如何處理可擴展性並獲得更好的圖像,我認爲流星團隊的成員應該回答有關可伸縮性的問題。

+0

)是的 - 我也已經意識到安全問題,但是已經有相當多的討論(也有人說這個流星隊的「大部分」是現在還有一些軟件:https://groups.google.com/forum/?fromgroups#!topic/meteor-core/g4Bsm3yFTe4)所以我一直對安全問題感到非常樂觀。但是,可擴展性的問題實際上還沒有被解決到類似的程度,至少我已經能夠看到。所以我認爲這個問題值得提問。 – garyrob

+0

同意問題的有效性和您對可擴展性的關注,願意聽到Meteor團隊的一些信息。我會嘗試Meteor IRC。 – Nachiket

+4

截至2012年10月,流星版本0.5.0包含一個官方認證模塊並形成文檔。 – yagooar

0

我最近問了一個類似的問題(Which PaaS would be best for a Meteor JS app that needs to be scalable?),其中一個答案很好地解釋了Heroku的情況(我認爲) - 見https://stackoverflow.com/a/16468418/2311632。還有人指出(https://stackoverflow.com/a/16468609/2311632)可以在meteor.com上部署。雖然規模仍在路線圖上,但大概他們已經或正在解決「內部」的一些擴展問題,或者可以讓他們的服務保持在可擴展Meteor應用程序的前沿。否則,您可以使用EC2並垂直縮放(提升單個實例的功率),直到流星使用官方縮放解決方案達到標記。使用EC2進行設置對我來說是新的,但這個答案(https://stackoverflow.com/a/16468826/2311632)看起來是一個很好的起點。我還沒有嘗試過,但可能會很快。

1

您可以將流星應用程序部署到Heroku中,但您需要堅持使用1個dyno。因爲Heroku不支持WebSockets或粘滯會話。

所以你需要找到另一個PAAS供應商。 Nodejitsu是一個不錯的選擇。如果你不想擴展到多個實例,你需要找到一種方法來同步實例間的寫入操作。

那麼你就需要Meteor Cluster - http://goo.gl/2aHJ2