Common explanations of "clusters and Server Load balancer"

Source: Internet
Author: User
Tags cloud computing platforms
In "high concurrency, massive data, distributed, nosql, cloud computing ...... I believe many of my friends have heard of and even often talked about "clusters and Server Load balancer". But not all of them have the opportunity to really come into use these technologies, not everyone really understands these technical terms. The following is a brief explanation.
Cluster)

A cluster is a loosely coupled multi-processor system composed of a group of independent computer systems. It communicates with each other through a network. Applications can transmit messages through the network shared memory to implement distributed computers. To put it simply, it means that several computers can work together (services), which can be parallel or backup.

Load Balance)

Network Server Load balancer is a dynamic balancing technology. A common implementation method is to analyze data packets in real time through some tools, master the data traffic conditions in the network, and allocate tasks in a reasonable and balanced manner. Based on the existing network structure, this technology provides a cheap and effective method to expand server bandwidth and increase server throughput. It enhances network data processing capabilities and improves network flexibility and availability. "Server Load balancer" can be seen everywhere in daily life. At the peak of a supermarket, only 10 customers can be served. If 20 customers need services during the activity, they may be queued up, in this way, the shopping experience will be poor (just as customers complain that the system/Website access is too slow ). The simplest way is to hire another salesperson and re-activate an exit. The core of Server Load balancer is to allocate pressure ".


Large-scale clusters generally have the following features:
(1) high reliability (ha ).
With the cluster management software, when the master server fails, the backup server can automatically take over the work of the master server and switch over in time to achieve uninterrupted services for users.
(2) high-performance computing (HP ).
That is to say, we make full use of the resources of every computer in the cluster to implement parallel processing of complex operations, which are usually used in scientific computing, such as genetic analysis and chemical analysis.
(3) Load Balancing (LB ).
That is, the load pressure is allocated to each computer in the cluster according to a certain algorithm to reduce the pressure on the master server and reduce the hardware and software requirements on the master server.

Of course, these features must be available in some situations. Common clusters are divided into the following types:
Load Balance Cluster)
There are a total of four brothers opening tailor shops, with a lot of business. One person cannot do it, and the construction period is always delayed. So the four brothers discuss: the boss receives the order and the three brothers come to work. After the customer grows, the boss assigns new tasks based on the workload of the three brothers according to certain principles (policies.
High Availability cluster (high availability cluster)
The two brothers opened a breakfast shop with little business, but there were a lot of customers between and every morning and they could not be interrupted. In order to ensure that the breakfast shop can continue to provide services within two hours, the two brothers discuss several methods:
Method 1: The boss usually does business. The second child waits at home in this period. Once the boss cannot do business, the second child comes out to the top. This is called active/standby. (hot standby)
Method 2: at ordinary times, the boss is doing business, and the second child is helping workers. Once the boss is unable to do business, the second child is immediately on top. This is called active/passive. (dual-machine duplex)
Method 3: at ordinary times, the boss sells steamed buns, and the second child also sells soy milk. The old one has a big problem. The second child sells steamed buns and soy milk, and the second child doesn't work. The boss sells steamed stuffed buns again, sell soy milk again. this is called active/active (dual active)
Steamed Stuffed Bun = application package, which is called heartbeat for mutual reference and Failover/takeover for replacement. if the two brothers suddenly become blind and do not know whether the other party is working now, they all think they want to work for the other party. This is called brain-split, and then they need a third party, for example, their father solved the problem. This is called tier-breaker, or they asked two of their daughter-in-law to pull one of them. This is called fency.
High computing clustering (high-performance computing cluster)
Ten brothers work together in the handmade furniture business. One customer came to their father to ask for a very complex set of antique furniture which can also be done by one person, but they have to do it for a long time, in order to hand over the set of furniture in a week, the 10 brothers decided to do it together.
The old man handed the different parts of the set of furniture to his sons for work. Then each son was processing the wooden furniture and finally made a fight for the goods.
The old guy is a scheduler Task Scheduler, and his sons are compute nodes. Their jobs are called jobs.

(In fact, there is also a cluster related to distributed storage that is applied to ultra-large scale websites and cloud computing platforms. I will not describe it here if it involves point storage)

Strictly speaking, this is beyond the knowledge scope of general developers. It is not easy to really understand and grasp this. Sometimes it is necessary to implement real practices instead of building a car behind closed doors. From the perspective of O & M personnel and System Architects, not only must they have rich experience in operating system configuration and management, it is also necessary to have knowledge about network protocols, storage, and so on (it is more perfect to understand algorithms and the underlying layer ). From the perspective of developers and software Architects, the focus is different. Of course, it is far more than what I mentioned. Today, web applications generally rely on infrastructure, and are increasingly isolated from the nature of "pure software architecture. Clusters are not omnipotent, but sometimes they are quite useful. Due to the project and work relationship, I am currently mainly using Microsoft's Technical System (of course, most of them are based on Windows platforms ). If I have the opportunity, I can share my research and practices in this area. I also hope that I can share and communicate with other interested friends.

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.