14

在另一个问题的回答中,注意到“使用 'meteor deploy' 部署到托管服务器的应用程序还没有任何关于扩展的保证或 SLA。” 因此,如果我想确保现在可以完全扩展,就排除了使用他们托管服务器的可能性。

答案进一步指出“使用'meteor bundle'生成的服务器包基本上是一个单进程应用程序。它取决于您将其连接到多个实例,或者您想要实现自动缩放。”

读完之后,我对缩放问题仍然很不清楚。在 Heroku 上,我假设我可以在 dynos 中运行“meteor bundle”单进程应用程序。但是,如果我使用许多 dyno,每个都运行一个 Meteor 服务器捆绑包,Meteor 是否设计为可以将它们连接起来,以便它们都与相同的数据同步(即使存在延迟)?

4

4 回答 4

5

在回答我自己的问题时,Meteor 团队宣布了包含可扩展性计划的路线图,以包含在 Meteor 1.0 中。

于 2013-01-04T21:45:40.607 回答
2

Meteor还是很年轻的平台。在可扩展性之前,我个人会提出安全问题,因为 Meteor 目前在公开发布中没有安全模型。Meteor 文档中也没有提到安全性,但 Meteor 团队已经确认他们正在研究它,未来的版本将会有它。看看这里:https ://stackoverflow.com/questions/10100813/when-can-we-expect-data-validation-and-security-in-meteor

所以我认为你和我(为了安全实施)必须等待更多版本,也许在内部处理 1.0 可扩展性之前,或者至少他们应该有文档解释如何做到这一点。

为了了解如何处理可扩展性并更好地了解它,我认为来自流星团队的人应该回答有关可扩展性的问题。

于 2012-06-14T18:50:59.580 回答
1

您可以将流星应用程序部署到 Heroku,但您需要坚持使用 1 个 dyno。因为 Heroku 不支持 WebSockets 或 Sticky Sessions。

所以你需要找到另一个 PAAS 提供商。Nodejitsu 是一个不错的选择。如果你不想扩展到多个实例,你需要找到一种方法来同步实例之间的写操作。

然后你需要Meteor Cluster - http://goo.gl/2aHJ2

于 2013-06-02T18:08:10.273 回答
0

我最近问了一个类似的问题(哪种 PaaS 最适合需要可扩展的 Meteor JS 应用程序?),其中一个答案很好地解释了 Heroku 的情况(我认为)——请参阅https://stackoverflow.com/一个/16468418/2311632。还指出(https://stackoverflow.com/a/16468609/2311632) 可以部署在meteor.com 上。虽然扩展仍在路线图上,但可能他们已经或正在“内部”解决一些扩展问题,或者可以将他们的服务保持在 Meteor 应用程序扩展的最前沿。否则,您可以使用 EC2 并垂直扩展(增强单个实例的能力),直到 Meteor 使用官方扩展解决方案达到目标。设置 EC2 对我来说是新的,但这个答案 ( https://stackoverflow.com/a/16468826/2311632 ) 看起来是一个很好的起点。我还没有尝试过,但可能很快就会。

于 2013-05-10T18:22:38.537 回答