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've started to scale horizontally, the load balancer will divide the incoming traffic evenly between the Application servers. If you have differently sized application servers we can weight some 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 down, then it will not receive any requests.
The loadbalancing mode can be changed. For e.g. 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 loadbalancer configuration is created prior to April, 25th 2018 it's likely that requests where the first three IPv4 address octets or the whole IPv6 address are the same are forwarded to the same application server always (unless it's down).
If one application server has an outage the load balancers will stop forwarding traffic to this node. This way your application stays online even if one of your servers is down. To take advantage of this you should read something about load balancer health checks.
If our Loadbalancer is not able to receive proper responses (2xx, 3xx, 4xx) it will show a default makandra-hosting maintenance page. This is the case if the application servers are down or if the application is responding with 5xx errors.
If you want to show a custom maintenance page you can send us a
HTML file which contains all relevant content. If you want our loadbalancer to ship assets on this page you must include them in the
Terminating the SSL/TLS connection on the load balancers keeps the necessary encryption/decrytion load from your application servers. Thus your application server can use the CPU resources for your application instead blocking them with SSL handling. 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.