Take the 2-minute tour ×
Server Fault is a question and answer site for professional system and network administrators. It's 100% free, no registration required.

I am investigating into HAProxy to use as a load balancer for a number of nginx servers. Each server is streaming a static file (audio file) from it. Nginx will be using a symfony2 framework. In regards to affinity / persistance of sessions, I will be using memcached on nginx servers. I am starting with a limited budget so I am trying to derive networking scheme as flexible and scalable as possible. I will draw a diagram to simply my question:

           +---> nginx server 1 @ 1gbps
           |
HAProxy <--+---> nginx server 2 @ 1gbps
           |
           +---> nginx server 3 @ 1gbps

Ps: I understand that I will need 2nd haproxy server for failover but unfortunately I can't afford more servers at the moment.

My primary concern is how "reply" is done with HAProxy. To my understanding, if reply is going through HAProxy, LB becomes a bottleneck as it won't be able to serve more users than its port capacity (bare in mind it is a streaming server with a hypothetical load of 95%). However, I see that people say HAProxy only does routing but I am not sure what it means if inbound & outbound traffic is still going through HAProxy.

share|improve this question

1 Answer 1

The HAProxy has to be a high bandwidth server. It has to have at least the bandwidth of the backend servers combined so it doesn't throttle everything. In the best case you have a little headroom left. A 10GBps connection might be good for the start.

On the other hand it doesn't need the biggest CPU. That is what "the people" might mean. Becaus the backend servers can focus on the calculations, the HAProxy only needs to route the traffic.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.