Fei Fei 2017-10-24 09:10
What is a cluster
A computer cluster, called a "cluster", is a computer system that connects highly closely with a set of loosely integrated computer software and/or hardware to perform computational work. In a sense, they can be seen as a computer. A single computer in a clustered system is often called a node, usually connected over a local area network, but there are other possible ways to connect. Cluster computers are often used to improve the computational speed and/or reliability of a single computer. In general, cluster computers are much more expensive than single computers, workstations, or supercomputing machines.
A cluster is a set of independent computers that compose a computer system through a high-speed network, and each cluster node is a standalone server running its own process. For network users, the back end of the website is a single system, in collaboration to provide users with system resources, system services. A combination of network connections to complete a task together. The common cluster results are shown below:
2 Characteristics of cluster
1) High performance (performance)
Some require very strong computational processing capabilities such as weather forecasts, nuclear tests, and so on. This is not something that can be done by several computers. It takes thousands of units to do the work together.
The workload of network services is often a large number of independent tasks, with a set of servers to divide and conquer, you can achieve a high overall performance.
2) Price Effectiveness (value for money)
Typically, a system cluster architecture requires only a few or dozens of server hosts, with a higher cost-performance ratio compared to the millions of dedicated supercomputers on the move.
The PC server or RISC server and standard network equipment that make up the cluster system have the highest performance/price ratio because of the lower cost and lower price in mass production. If the overall performance increases linearly with the number of nodes, the performance/price ratio of the system is close to that of the PC server. Therefore, this loosely coupled structure has a better performance/price ratio than a tightly coupled multiprocessor system.
3) Scalability
The number of nodes in a clustered system can grow to thousands of, or even tens of thousands, and its scalability is far greater than that of a single supercomputer.
When the server load pressure increases, the system can be extended to meet the requirements without compromising the quality of service.
4) High Availability
Redundancy in both hardware and software enables high availability by detecting the failure of software and hardware, blocking faults, and providing services from surviving nodes. Even if some of the hardware and software fail, the service of the entire system must be running in a 7x24 hour. When a module fails to be found, the services provided on the module are migrated to other modules. In an ideal situation, this migration is instantaneous and automatic.
3 Advantages of cluster
1) Transparency
If some servers are down and the business is unaffected, the general coupling is not so high and the dependencies are not so high. For example, the NFS server is down and the other is not mounted, so the dependency is too strong.
How to effectively make a loosely-coupled cluster system composed of multiple independent computers into a virtual server; When client applications interact with a clustered system, the client does not need to make any modifications as it interacts with a high-performance, highly available server. The cut-in and cut-out of some servers will not disrupt the service, which is also transparent to the user.
2) High performance
Increased traffic to easily scale.
Performance to approach linear acceleration, which requires the design of a good hardware and software architecture, to eliminate the potential bottlenecks of the system. Dispatch the load to each server in a more balanced manner.
3) Manageability
The entire system can be physically large, making the cluster system manageable, just like managing a single image system. Ideally, Plug and Play (Plug & Play) can be plugged in and out of the hardware and software modules.
4) Programmability
On the cluster system, easy to develop applications, the portal will require this.
4 Cluster Classification
"1" Load Balancer cluster (load Balancing clusters) abbreviated as LBC
"2" High availability cluster (high-availability clusters) abbreviation HAC
"3" High Performance computing cluster (high-perfomance clusters) referred to as HPC
"4" Grid computing (gridcomputing)
On the network, it is generally considered that only the first three has three, "load balancing" and "High Availability cluster" is the common cluster architecture of the Internet industry, and we must master. The first three types of clusters are described in detail below.
@@| Load Balancer Cluster |
Load Balancing cluster provides a more practical and cost-effective system architecture solution for enterprises. Load Balancing clusters distribute the load pressure of many clients ' centralized access to the computer cluster as evenly as possible. Customer request loads typically include "application-level processing load" and "network traffic load". Such a system is ideal for serving a large number of users with the same set of applications. Each node can assume a certain amount of access request load pressure, and can implement the access request is dynamically allocated among the nodes to achieve load balancing.
When load balancing is running, client access requests are typically distributed to a back-end set of servers through one or more front-end load balancers to achieve high performance and high availability throughout the system. This computer cluster is sometimes called a server farm. General high-availability clusters and load-balancing clusters use similar technologies, or have both high availability and load balancing characteristics.
| The role of load Balancing cluster |:
Share access traffic (load Balancing)
Maintain continuity of business (high availability)
@@| High Availability cluster |:
In general, when any node in the cluster fails, all tasks on the node are automatically transferred to other normal nodes, and this process does not affect the operation of the entire cluster, and does not affect the delivery of the business.
Similar to the cluster running two or more than two of the same node, when a master node fails, then other nodes as a slave node will take over the main node above the task. From the node can take over the primary node's resources (IP address, schema identity, etc.), at which point the user will not discover the objects that provide the service from the primary node to the slave node.
| The role of a high availability cluster |:
When one machine goes down another takes over.
More commonly used high-availability clusters open source software is: keepalive,heardbeat
@@| High Performance Computing Cluster |:
High-performance computing clusters use different computing nodes to assign computational tasks to clusters to improve computing power, and thus are mainly used in the field of scientific computing. The more popular HPC uses the Linux operating system and some other free software to do parallel operations. This cluster configuration is often referred to as Beowulf clusters. Such clusters typically run specific programs to perform hpccluster parallel capabilities. Such programs typically use a specific runtime library, such as an MPI library designed for scientific computing.
HPC clusters are particularly suited for computing jobs where large amounts of data are communicated between compute nodes in the calculation, such as the intermediate results of a node that affect the results of other nodes ' calculations.
@@| Common cluster hardware and software |:
Common open source Cluster software is: lvs,keepalived,haproxy,nginx,apache,heartbeat
Common business cluster hardware are: F5,NETSCALER,RADWARE,A10, etc.
Author Notes
Thank you for reading here, if this article can let you have something to gain, I will feel extremely honored, if did not help you, that is to send you a word: deliberate practice 10,000 hours, you will enter the heart flow, continuous breakthrough, you will become a master.