Single point of failure (SPOF) is a part of a system, that if it fails, will stop the entire system from working. To overcome SPOFs, High Availability architecture is deployed into web based environments. High Availability(HA) refers to a system that is continuously operational for a desirably long length of time. It is key to any web based environment as it provides continuous operation of the system even in the case of a hardware failure.
Here is a list of architectures, all of which provide High Availability, great redundancy and seamless performance.
Load balancers are added to a server environment to improve performance and reliability by distributing the workload across multiple servers. If one of the servers that is load balanced fails, the other servers will handle the incoming traffic until the failed server becomes healthy again. All the web servers are continuously synced with each other in real time through LSYNC.
One way to improve performance of a database system that performs many reads compared to writes, is to use master-slave database replication. Master-slave replication requires a master and one or more slave nodes. In this setup, all updates are sent to the master node and reads can be distributed across all nodes.Master DB has read/write setup whereas the slave DB is read only.
This architecture is similar to the previous architecture in every way except that a Virtual Private Network (VPN) gateway is provided to access the servers.
A virtual private network (VPN) appliance is provided to ensure greater security over shared networks along with firewall protection, authentication, authorization and encryption. This ensures that the data always flows in an encrypted form providing better security from hacks.
DRBD (Distributed Replicated Block Device) is a Linux-based software component that facilitates the replacement of shared storage systems by networked mirroring. Network mirroring enables the user to copy all files and data from one web server to another web server so that the site or files are available from more than one place. DRBD makes it possible to maintain consistency of data among multiple systems in a network.
For example, in case of a DB failure there is a permanent loss of stored data. To overcome this issue, DRBD system replicates or mirrors the data instantly to lower level block device which allows the user to access and store data into multiple devices.
In addition to the previous architecture with DRBD, Delayed slave DB is added to the system for delayed replication.
Delayed replication allows specifying that a replication slave should lag behind the master by at least a specified amount of time specified in seconds.
For example, before executing an event, the slave will first wait, if necessary, until the given time has passed since the event was created on the master. The result is that the slave will reflect the state of the master some time back in the past. This becomes really helpful and significant in worst case situations when the database is overwritten or deleted completely.