The Working Principle Difference between High Availability Cluster and Load Balancing cluster

Source: Internet
Author: User
Keywords load balancing load balancing cluster high availability cluster
Many companies now use Linux operating system on their websites. The advantages of Linux make people abandon Microsoft. Today, I will talk about Linux cluster technology, let you know more about Linux and know the powerful functions of Linux cluster technology. It serves as a reference for your selection system.

  One of the reasons why Linux is very competitive is that it can run on extremely popular PCs without the need to purchase expensive dedicated hardware equipment. On several PCs running Linux, as long as the corresponding cluster software is added, a Linux cluster with super reliability, load capacity and computing power can be formed. Each server in the cluster is called a node.

   According to different focuses, Linux clusters can be divided into three categories. One type is a high-availability cluster, which runs on two or more nodes. The purpose is to continue to provide services to the outside world in the event of certain system failures. The design idea of a high-availability cluster is to minimize service interruption time. The more famous such clusters are Turbolinux TurboHA, Heartbeat, Kimberlite, etc. The second category is a load balancing cluster, which aims to provide load capacity proportional to the number of nodes. This type of cluster is very suitable for providing web services with a large amount of visits. Load balancing clusters often also have certain high availability characteristics. Turbolinux Cluster Server and Linux Virtual Server belong to load balancing clusters. The other type is supercomputing clusters, which can be divided into two types according to the degree of computing correlation. One is the task piece method. The calculation task is divided into task pieces, and then the task pieces are assigned to each node. After calculating on each node, the results are summarized to generate the final calculation result. The other is a parallel computing method, in which a large amount of data is exchanged between nodes during the calculation process, and calculations with strong coupling relationships can be performed. The two supercomputing clusters are suitable for different types of data processing tasks. With supercomputing cluster software, companies can use several PCs to complete computing tasks that usually only supercomputers can complete. Such software includes Turbolinux EnFusion, SCore, etc.

   High-availability clusters and load balancing clusters have different working principles and are suitable for different types of services. Generally, load balancing clusters are suitable for services that provide static data, such as HTTP services; and high-availability clusters are suitable for services that provide static data, such as HTTP services, and services that provide dynamic data, such as databases. The reason why high-availability clusters are suitable for services that provide dynamic data is that nodes share the same storage medium, such as RAIDBox. That is, in a high-availability cluster, there is only one copy of user data for each service, which is stored in a shared storage device Above, only one node can read and write this data at any time.

  Take Turbolinux TurboHA as an example. There are two nodes A and B in the cluster. Suppose this cluster only provides Oracle services, and user data is stored in the partition /dev/sdb3 of the shared storage device. In a normal state, node A provides Oracle database services, and the partition /dev/sdb3 is loaded by node A on /mnt/oracle. When a certain failure occurs in the system and is detected by the TurboHA software, TurboHA will stop the Oracle service and uninstall the partition /dev/sdb3. After that, the TurboHA software on node B will load the partition on node B and start the Oracle service. There is a virtual IP address for the Oracle service. When the Oracle service is switched from node A to node B, the virtual IP address will also be bound to node B, so users can still access this service.

   It can be seen from the above analysis that high availability clusters do not have a load balancing function for a service. It can improve the reliability of the entire system, but it cannot increase the load capacity. Of course, a high-availability cluster can run multiple services and appropriately distribute them on different nodes. For example, node A provides Oracle services, while node B provides Sybase services. This can also be seen as load balancing in a sense, but this is For the distribution of multiple services.

   Load balancing clusters are suitable for services that provide relatively static data, such as HTTP services. Because there is usually no shared storage medium between the nodes of a load balancing cluster, user data is copied into multiple copies and stored on each node that provides the service. Let's take Turbolinux Cluster Server as an example to briefly introduce the working mechanism of load balancing cluster. There is a master node in the cluster called Advanced Traffic Manager (ATM). Assume that this cluster is only used to provide one HTTP service, and the other nodes are set as HTTP service nodes. All user requests for the page are sent to the ATM, because the ATM is bound to the external IP address of this service. ATM sends the received requests to each service node on average. After receiving the request, the service node directly sends the corresponding Web page to the user. In this way, if there are 1000 HTTP page requests within 1 second and there are 10 service nodes in the cluster, each node will process 100 requests. In this way, in the eyes of the outside world, it seems that a high-speed computer with a speed of 10 times is processing user access. This is the true sense of load balancing.

But ATM has to process all 1000 page requests, will it become the bottleneck of the cluster processing speed? Since the amount of data requested for the page is relatively small, the amount of data returned to the page content is relatively large, so this method is still very efficient. Failure of ATM will not cause the entire system to fail. Turbolinux Cluster Server can set up one or more computers as backup ATM nodes. When the main ATM node fails, a new main ATM will be generated in the backup ATM to take over its work. It can be seen that this kind of load balancing cluster also has a certain degree of high availability.

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.