Supporting millions of http connections with Zen Load Balancer

Posted by Zevenet | 30 October, 2015 | Technical

Every year increases the world population connected to the internet, we have more devices connected and life becomes more digital oriented. This means using more digital services and more users. We present you a solution to adapt your infrastructure to your user base growth.

We are going to approach this case with a two-layered load balancing architecture. We’ll use two types of farms, HTTP and L4xNAT profiles.

The HTTP profile is a high-level of abstraction layer (application layer on ISO model, or layer 7) with advanced customizations and features like: cookie insertion, session persistence, HTTPS backends and SSL offload among others. This features are really useful but they come at a performance cost, and here is where the L4xNAT profile comes handy.

The L4xNAT profile is a low-level of abstraction layer (transport layer on ISO model, or layer 4) allowing amazingly fast load balancing at a very low performance cost. The combination of these two types of load balancing permits a great deal of concurrent connections with the features of the HTTP profile.

First layer, Zen Load Balancer with L4xNAT profile with the next configuration:

Protocol type: TCP
NAT type: NAT
Load Balance Algorithm: Weight
Use of FarmGuardian to check Backend Servers: On
Command to check: check_tcp -H HOST -p PORT

This is an example FarmGuardian command to test every host accepting connections on its configured port. For more information about FarmGuardian and its configuration look here.

Now, for every Zen Load Balancer on the second balancing layer we’ll create an HTTP profile farm. We can use as many Zen Load Balancers on this layer as we need, we can also increase them as needed, any time.

Number of working threads: 10240
Rewrite Location headers: Enabled
Farm listener: HTTP or HTTPS, as needed.
Add service: Backends
Persistence session: COOKIE
Persistence session time to limit: 300
Persistence session identifier: ASPSESSIONID
Least response: Enabled

A very important situation to take into account, specially in the most critical part of this arquitecture, the first balancing layer, is to eliminate a single point of failure, this can be achieved using a Zen Load Balancer cluster.

Please comment if you have any thought about this.


Related Blogs

Posted by zenweb | 18 March 2020
Did you know that ZEVENET implements different techniques to provide higher performance and high scale for non-connection oriented and real-time services like UDP (User Datagram Protocol), SIP (Session Initiation Protocol),…
103 LikesComments Off on Delivering the best continuity for non-connection oriented services
Posted by zenweb | 28 March 2019
This edition of the Netdev Conference 0x13 has been driven by a great organization and the high quality of the talks and open discussions. The broad variety of companies, technologies…
146 LikesComments Off on Lessons learned from Netdev Conference 0x13 in Prague
Posted by zenweb | 08 March 2019
Zevenet is proud to present the definitive guide of SIP proxy load balancing to build scalable VoIP scalability, highly available and with enhanced security. In addition, advanced health check to…
147 LikesComments Off on The definitive guide of SIP and PBX services at scale