|Sent on:||Wednesday, February 27, 2013 12:49 AM|
So how would the controller communicate with the worker(s)?
In your current setup, why wouldn't the ec2(app) always be there? i'd recommend keeping it on your ec2(app) instance right now until you need to scale to more servers, possibly requiring you to add a "worker" instance.
On Feb 26, 2013, at 3:46 AM, GC <[address removed]> wrote:
Thanks for the responses. My setup is this:
EC2(app) <-> EC2(db,replica set) <-> EBS(raid,replica set)
In the near future I may wrap the EC2(app) instances in an auto-scaler. Klaus, to answer your question, I can't run cron from the EC2(app) instances because they won't always be up. The auto-scaler will handle the launching of them. It seems to me that I need an EC2 instance (micro-sized) to act as an always-on controller. It would run the cron jobs and pass messages to the auto-scaler. If that's the case, then I need something to handle the messaging between the controller and the auto-scaler. This sounds like SQS but Amazon recommends SWF to handle cron. Chintan (and others), based on what I need do you think that SWF will handle this? If not and I need to roll my own, how will messages get passed from the controller to the auto-scaler? I checked out RabbitMQ and Gearman but I’m trying to avoid third-party solutions (although I will use one if absolutely necessary) because they present their own overhead and it seems like SQS and/or SWF should be able to handle this.