Source: China Linux Forum Author: lolley
Cluster technology has been developed for many years, but in fact, there is no very accurate definition and classification, and different people have different understandings. In fact, what doesn't care, as long as you can use it for users. :-) For personal understanding, Cluster has the following, of course, the different people have different understandings, everyone can fully discuss. My classification is more important than the project instead of technical. 1. The HA cluster achieves high availability, but there is no improvement in a single application performance, most of the products in the market belongs to this class, and the technology is also simple. 2. IP load balancing clusters use IP technology to implement support for universal IP applications. This technology is not very new, the earliest is used above the hardware. After Linux appears, there is a lot of pure software models, which is the benefits brought by Open Source 3. Parallel computing clusters include some pictures of PVM, beowulf. The information transfer mechanism and the API library, there are also task scheduled products. Of course, the most technically difficult product is more intelligent. 4. Apply load balancing clusters Although the highest purpose of Cluster is to achieve true and application Dynamic load balancing, but due to technical restrictions, only in special applications, it is necessary to modify applications, so there is no universal product, mostly manufacturers have their own parallel versions. For example, Oracle Paraller Server. The above is basically divided according to the perspective of engineering or product, and technical division should have some difference. Here is something you wrote before, it was written for media propaganda, there were some commercial tastes inside, and some local technology was not completely correct. Now there is now an idea to exchange. Not to promote TurboLinux products (I am Turbolinux employee), it is really too lazy to change, although this business article has made a big taboo in the public community. Just for your reference, the advantages and disadvantages of TurboLinux products are not involved. Please understand. It has not been involved in the Linux community discussion, this time because of the longer time for Cluster, it has been very interesting, so registered to irry. With the increasingness of Internet / intranet applications, the importance of computer systems is also increasing. Low failure rates and high performance are always the main goals pursued, but for single servers, these two issues cannot be solved. l Useability - Many servers have declared that they have reached 99% availability. What does this figure mean? That is to say, 1% of non-expected downtime every year, let us have a specific consideration. 365 (day / year) × 24 (hour / day) × 1% = 87.6 (hours / year). This 87.6 hours of downtime is also disaster for companies that require 24 × 7 continuous services. l High Performance - Assuming a general desktop can handle thousands of requests per second, and the IA server can process tens of thousands of requests per second. Then, for companies that need to handle hundreds of thousands of requests per second, if cluster technology is not used, the only choice is to purchase more high-end, small computers. If this is done, although system performance is only ten times, its purchase price and maintenance cost will rise as several tens of times even more. The emergence and development of cluster technology solves these two problems. One. The cluster cluster is a parallel or distributed system consisting of some computers that are connected together. From the outside, they are just a system and provide unified services. The cluster technology itself has a lot of categories. There are many products on the market, and there is no standard definition. It can generally be divided into the following: 1. Redundant cluster strictly, this redundant system cannot be called a real cluster because it can only improve the availability of the system, but it is impossible to improve the overall performance of the system. There are several types of types.
A. The fault tolerant machine features a redundant redundancy on all of the hardware components (including hard drives, control cards, bus, power supply, etc.). It can be basically independent of software system, and seamless switching can be achieved, but the price is extremely expensive. Typical Market Products: Compaq Nonstop (TANDEM), Micron (Netframe), Strausb. Duplex system-based two-machine system feature is to use a two-machine, mirror the data and running status (including data in memory), thereby achieving heat The purpose of backup. Can seamless switching, but because software control is used, the system resources are large, and because the two machines need to be exactly the same configuration, the performance price is too low. Typical Market Products: Novell SFT III, MARATHON Endurance 4000 for NTC. Dual system feature based on system switching is to use a dupleger to mirror the data (only hard disk data), and the host will be performed in the case of host failure. The switching of the system level. Performance price is moderate, but seamless switching cannot be achieved. Typical Market Products: Legato (Vinca) StandbyServer For NetWare, Savoir (Westernmicro) Savwareha (Sentinel), Compaq StandByServer2. The cluster feature based on the application switch is that when a node fault in the cluster, other nodes can perform application level Switch, so all nodes can provide their own services in normal states, and are also static load balancing methods. The performance price is high, but it is also impossible to achieve seamless switching, and the load balance cannot be done for a single application itself. Typical market products: Legato (Vinca) Co-StandbyServer for NT, Novell HA Server, Microsoft Cluster Server, DEC Cluster for NT, Legato Octopus, Legato FullTime, NeoHigh Rose HA, SUN Clusters, Veritas Cluster Server (FirstWatch), CA SurvivIT, 17763. Clusters based on parallel computing are mainly used in scientific calculations, large-scale calculations, and so on. There are many implementation methods such as parallel compilation, process communication, task distribution. Typical Market Products: Turbolinux Enfuzion, Beowulf, Supercomputer Architectures, Platform4. All nodes of a dynamic load balancing provide the same services, which enables load balancing of individual applications, and also provides high availability. Performance prices are extremely high, but the database cannot be supported. Typical Market Products: TurboCluster Server, Linux Virtual Server, F5 Bigip, Microsoft Windows NT Load Balance Service II. Load balancing load balancing is a cutting-edge technology to improve system performance.
Still along the previous example, the processing capability of an IA server is tens of thousands per second, apparently unable to process hundreds of thousands of requests within a second, but if we can have 10 such servers to form a system, if there is The way all the requests are allocated to all servers, then this system has the ability to handle hundreds of requests per second. This is the basic idea of load balancing. In fact, there are currently many manufacturers' load balancing products. Due to its main technologies of their applications, there is different features and different performance. 1. Polling DNS polling DNS schemes can be said to be the simplest and most intuitive solution. Of course, this program can only achieve load balancing, but it is impossible to achieve high availability. Its principle is to set mappings of multiple IP addresses to the same Internet hostname in the DNS server. Thus, when the DNS receives a request for the host name, it will be looped back all the corresponding IP addresses one by one. In this way, different client connections can be positioned to different IP hosts, and relatively simple load balancing functions can be implemented. However, this scenario has two more deadly disadvantages: L can only be implemented on load balancing of the Internet hostname request, if it is directly based on the IP address-based request, there is no power. l In the case where there is a node in the cluster, the DNS server still returns the IP address of this node to the query, but will continue to have a customer request to set up a connection with the failed power saving. In this case, even if you manually modify the corresponding settings of the DNS server, delete the IP address of the fault, because all DNS servers on the Internet have caching mechanisms, there will be thousands of clients less than the cluster, unless Wait until all DNS cache is timeout. 2. Hardware Solution Some vendors provide a hardware solution for load balancing, manufacturing a high-end router or switch with NAT (Network Address Translation) function to implement load balancing. The principle of NAT itself is to achieve multiple private IP addresses for the conversion of a single public IP address. Representing products is CICSO and some high-end hardware switches in ALTEON. This solution has the following disadvantages: L Since special hardware is used, there is a non-industrial standard component in the entire system, which greatly affects the system's expansion and maintenance, and upgrade work. l The price is extremely expensive, and the solution is fundamentally different from the order. l Generally only realizes the status check of the node system level and cannot be refined to the service level. l Due to the NAT mechanism, the cluster management node itself has a large amount of work, it is easy to become a bottleneck of the entire system. l This special hardware itself is a single fault point. l The cluster that realizes a different node is very difficult. 3. The principle of conjunctivation (parallel filtration) This program is that the customer request will be received by all nodes at the same time, and then all nodes will decide which node to process this request in accordance with certain rules. A more significant feature in this solution is that there is no significant management node in the entire cluster, and all decisions are made by all work nodes. Depending on the product, Microsoft Microsoft Load Balancing Service This program is: l Since the amount of communication between the nodes is too large, the burden on the network is added, and the private network of the network is generally needed, and it is also increased. Difficulties and costs for installation and maintenance. l Since each node receives all customer requests and analyzes, greatly increase the burden on the network drive layer, and reduces the work efficiency of the node itself, and the network drive layer is easy to become a node system. bottleneck. l Since the network drive layer is to be changed, it is not a general solution that can only be supported for special platforms. l In the case of a small number of nodes, the efficiency of negotiation is also acceptable, once the number of nodes increases, communication and negotiation will become abnormal and inefficient, and the performance of the entire system has a large decrease in nonlinearity. So this type of scheme, generally only allows up to do more than a dozen nodes. l The cluster that cannot be achieved.