Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Scaling a Meteor app on Heroku

Tags:

heroku

meteor

In an answer to another question, it's noted that "Apps deployed to the hosted servers with 'meteor deploy' do not yet have any guarantees or SLAs about scaling." So that rules out the possibility of using their hosted servers if I want to be sure I can fully scale, now.

The answer further notes that "A server bundle generated with 'meteor bundle' is basically a single process app. It is up to you wire it up to multiple instances, or however you want to implement auto-scaling."

After reading that, I'm still very unclear on the question of scaling. On Heroku, I assume I can run "meteor bundle" single process apps in dynos. But if I use many dynos, each running a Meteor server bundle, is Meteor designed so that they can be wired up so that they are all synchronized with the same data (even if there's a lag)?

like image 779
garyrob Avatar asked Jun 08 '12 21:06

garyrob


3 Answers

Answering my own question, the Meteor team has announced a roadmap which includes the scalability plans, for inclusion in Meteor 1.0.

like image 123
garyrob Avatar answered Nov 05 '22 17:11

garyrob


Meteor is still very young platform. Before scalability,personally i would put question of security, as Meteor right now is having no security model in public release. Also no mention of security in Meteor docs, but Meteor team has confirmed that they are working on it, and future release will have it. Have a look here: https://stackoverflow.com/questions/10100813/when-can-we-expect-data-validation-and-security-in-meteor

So I think you and I (for security implementation) have to wait for more releases and perhaps before 1.0 scalability will be handled internally, or atlease they should have documentation explaining how to do that.

To get some idea about, how scalability will be handled and to get better picture on it, I think someone from meteor team should answer about scalability.

like image 2
Nachiket Avatar answered Nov 05 '22 17:11

Nachiket


You can deploy meteor apps into Heroku but you need to stick with 1 dyno. Because Heroku does not support WebSockets or Sticky Sessions.

So you need to find another PAAS provider. Nodejitsu is a good option.If you wan't to scale into multiple instances, you need to find a way to sync write operations between instances.

Then You'll need Meteor Cluster - http://goo.gl/2aHJ2

like image 1
Arunoda Susiripala Avatar answered Nov 05 '22 18:11

Arunoda Susiripala