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.