As you can see in Infrastructure basics your application servers are placed behind three load balancers. They accept all HTTP/S traffic and forward the requests to the application servers. Using them has the following benefits:
No matter how many application servers you have (see scaling horizontally), the load balancer will divide the incoming traffic evenly between the Application servers. If you have differently sized application servers it is possible to accommodate for this by weighing some servers more than others.
By default new requests will be forwarded to the application server with the least connections. This is usually the application server with the lowest load. Health checks can mark an application server as down and it will not receive any more requests.
The load balancing mode can be changed. For example, we can forward requests based on a hash of headers or IP addresses to the same application server all the time. This can be useful if you store session information in the servers memory which is not shared with the other application servers.
If your load balancer configuration was created prior to April, 25th 2018, it is likely that the hashed mode is still in use. In detail this means requests from the same IP (either v4 or v6) are always forwarded to the same application server unless that server is down.
If one application server has an outage the load balancers will stop forwarding traffic to it. This way your application stays online even if one of your servers is down. To take full advantage of this you can read about load balancer health checks.
If our Loadbalancer is not able to receive a proper responses (per default those are
4xx) it will show a default makandra-hosting maintenance page. This is the case if all application servers are down or if the application is responding with
You can replace our default page with a custom maintenance page. Please send us a
HTML file which contains all relevant content. If you want to ship assets on this page they must be included in the
Terminating the SSL/TLS connection on the load balancers keeps the encryption/decryption load away from your application servers. Thus your application server can use more resources for your application. The load balancer does the SSL handshake with the client and communicates without SSL in our internal network.
Further information about SSL certificates can be found here.