Cluster consists of several components:
HTTP load balancer
The entry point. It distributes incoming visitors across the HTTP worker pool to ensure all requests are handled properly and swiftly.
HTTP worker pool
Consists of two or more HTTP servers which hold your websites files and talk with back-end servers (SQL servers, Memcache, file storage) to handle visitor requests sent by the load balancer.
Shared File Storage
In order to have a unified storage system where all HTTP worker pool members can add media and website files and remove inconsistencies, we utilize the Gluster system, which provides us with high availability and redundancy. The shared file storage consists of a minimum of two servers which mutually replicate your data. In case of a failure of one server, the other will serve the files.
SQL load balancer
The SQL load balancer handles incoming read and write requests from your application and sends them to the back-end SQL servers. While distributing the SQL queries, it also handles failover in case one of the SQL servers has crashed, providing you with a high availability and redundancy.
SQL cluster
The SQL cluster starts with a minimum of two servers set to be synchronized at all times. This helps with easier distribution of incoming read queries, removing the load from one server to handle both read and write queries. In case of a failure of one server, the second server will take the lead role and handle both read and write queries until the failed server has returned. This group is expandable to have more SQL servers if needed to spread out the intensive read queries.
Development server
The development server is moved away from the cluster setup and provides you with a testing playground to develop your website until the changes are ready to be pushed to the production servers. We provide an easy way to synchronize all changes across the HTTP worker pool.
Memcache
The memcache server, depending on the size of your cache, can be set on the development server or moved to a separate space with which your HTTP worker pool would communicate.