1

One mental block I have is load balancers, and I like how AWS/ec2 handles this for you.

BUT, I like dedicated servers for the performance and cost benefits etc.

I'd love if someone who is well versed with load balancers could give me an idea of what kind of load balancer I would need for the following:

  1. clients will be upload xml files to my server at a very high rate, up to 1000 per second. The application can handle this, and that's not really a problem as it was built with the design that you can add more nodes (front + backend db servers) to sustain this kind of load.

The only problem for me is trying to predict the type of load balancer I would need.
I would love if I could get away with a dedicated server and using HA proxy, but I'm not sure even if a single server could sustain 1K xml documents per second.

The average size of the XML document varies between 5-30 KB.

user1361315
  • 211
  • 2
  • 6
  • haproxy is dead simple to setup and as fast as they come. I'd bet a few beers that It will do the trick, if it doesn't you are looking at a more expensive appliance type solution. Just test it. – foocorpluser May 03 '12 at 19:42

2 Answers2

1

It's an old saying, but it costs less if your time is worth nothing. haproxy is nice, but still takes time to setup and maintain. Add to this you've created a single point of failure + you still don't have your scalability.

I've done the maths myself and EC2 won on total cost. The performance was good enough. I know I'm not strictly answering your question, but there are a number of extra things AWS solves for you. The geek in all of us says implement yourself, just double check your numbers.

0

You say that you can't predict what type of load balancer you'll need yet still have a preference for physical hardware?

A cloud (like EC2) solution is perfect for your situation since you can provision only what you need rather than provisioning for a theoretical peak with physical hardware. Often you'll find that your

In your case I'd go one of these directions:

  • Amazon Elastic Load Balancing + EC2 instances
  • Fairly small EC2 instance running HAProxy (it doesn't take much resources) + EC2 instances

The HAProxy instance can be scaled if needed and you can scale-up or scale-out the application servers depending on your load.

Your choice depends on your appetite for managing the HAProxy config and the limitations of ELBs. Good luck!

Dave Forgac
  • 3,546
  • 7
  • 37
  • 48