Clever Geek Handbook
πŸ“œ ⬆️ ⬇️

Load balancing

In computer network terminology, load balancing or load balancing is a method of distributing tasks between several network devices (for example, servers ) in order to optimize resource use, reduce query servicing time, scale the cluster horizontally (dynamically add / remove devices), as well as ensuring fault tolerance ( redundancy ).

In computers, load balancing distributes the load across multiple computing resources, such as computers, computer clusters, networks, central processing units, or disks. The goal of load balancing is to optimize resource utilization, maximize throughput, reduce response time, and prevent overloading any one resource. Using multiple load balancing components instead of a single component can increase reliability and availability through redundancy. Load balancing usually involves special software or hardware, such as a tiered switch or domain name system, such as a server process.

Load balancing differs from a physical connection in that load balancing divides traffic between network interfaces into a network socket (OSI model 4) basis, while channel connection involves splitting traffic between physical interfaces at a lower level, or into a packet (OSI model level 3) or via a communication channel (OSI model level 2); Basics with how to connect a shortest path connection

Examples of devices to which balancing applies:

  • Server clusters
  • Proxies
  • Firewalls
  • Switches
  • Content Inspection Servers
  • DNS servers
  • Network adapters

Load balancing can be used to expand the capabilities of a server farm consisting of more than one server. It can also allow you to continue working even in conditions when several executive devices (servers) are out of order. Thanks to this, fault tolerance grows, and it becomes possible to dynamically adjust the used computing resources by adding / removing executive devices in the cluster .

Internet Services

One of the most commonly used load balancing applications is to create a single Internet service with multiple servers , sometimes known as server farms . Typically, load-balanced systems include popular websites , large online stores , sites that use File Transfer Protocol (FTP), domain name systems (DNS), and databases.

For the Internet, a load balancer is usually a program that listens on the port where external clients connect to services. The load balancer redirects requests to one of the "servers" of the server, which usually responds to the load balancer. This allows the load balancer to respond to the client without knowing the internal separation of functions. It also allows customers to contact background servers directly, which can have security advantages and hide the structure of the internal network and prevent attacks on the kernel, network stack or unrelated services running on other ports.

Some load balancers provide a mechanism to do something special if the entire server side of the server is unavailable. This may include redirecting to a backup balancing system, or displaying a fault message.

It is also important that the load balancing subsystem should not become a single point of failure. Typically, load balancers are implemented in high availability , which can also replicate data persistence sessions if required for a particular application. [one]

DNS looping

An alternative method of load balancing, which does not necessarily require special host software or hardware, is called the Robin Round with DNS . In this technique, multiple IP addresses associated with the same domain name ; Clients must select a server to connect to. Unlike using a dedicated load balancer, this technique provides clients with multiple servers. The technique has its advantages and disadvantages, depending on the degree of control over DNS servers and the degree of detail of the required load.

Another, more efficient method for balancing the load using DNS can be delegated to www.example.org as a sub-domain for which the zone is served by the same servers that serve the website. This technique works especially well where individual servers are scattered geographically on the Internet. For example:

  one.example.org A 192.0.2.1
 two.example.org A 203.0.113.2
 www.example.org NS one.example.org
 www.example.org NS two.example.org

However, the zone file for www.example.org on each server is different in such a way that each server decides how to use the IP address as an A record. On the server, a single zone file for reports www.example.org:

  @ in a 192.0.2.1

On the server, two of the same zone file contains:

  @ in a 203.0.113.2

Thus, when the first server is down, its DNS is not responding, and the web service does not receive any traffic. If the line on one server is congested, the unreliable DNS service provides less http traffic that reaches this server. In addition, the fastest DNS response to the resolver is almost always from the nearest server network, providing geo-sensitive load balancing . A short TTL on a-record allows traffic to be quickly distracted when the server crashes. You must consider the possibility that this technique can cause individual clients to switch between separate servers in the middle of a session.

Planning Algorithms

Many scheduling algorithms are used by load balancers to determine which server to send the request to. Simple algorithms include random selection or a circular system . More complex load balancing subsystems can take into account additional factors, such as servers reporting loads, shorter response times, up / down status (determined by monitoring a poll), the number of active connections, geographic location, capabilities, or how much traffic it has recently was appointed.

Perseverance

An important issue in the work of the load balancing service is how to work with information that must be stored through several requests in a user session. If this information is stored locally on one server server, then subsequent requests coming from various internal servers will not be able to find it. This can be cached information, which can be recounted, in which case the load balancing request to another server server solves the performance problem.

Ideally, the server cluster behind the load balancer should be aware of the sessions, so that if the client connects to any server at any time, the user's history of communication with a specific server does not matter. This is usually achieved using a shared database or in-memory database session, such as memcached .

One basic solution to the problem of session data is to send all requests in a user session sequentially to the same server. This is called persistence or stickiness . A significant drawback of this technology is the lack of automatic failover : if the server fails, its session information becomes unavailable, it is lost from all sessions. The same problem is usually relevant for a central server database; even if the web servers are stateless and not sticky, the central database (see below).

Assignment to a specific server may be based on a username, client IP address , or may be random. Due to client changes, the address arising from the DHCP protocol , the translation of network addresses and web proxies are perceived , this method may be unreliable. Random tasks should be remembered by the load balancer, which creates the load on the storage. If the load balancer is replaced or fails, this information may be lost, and tasks may need to be deleted after a specified period of time or during periods of high load to avoid exceeding the space available for the assignment table. The random assignment method also requires that clients support some settings, which can be a problem, for example, when the web browser has disabled cookie storage. Sophisticated load balancing subsystems use several storage methods to avoid some of the drawbacks of a single method.

Another solution is to store session data in the database . In general, this is bad for performance, since it increases the load on the database: it is better to use the database to store information that is less variable than session data. To prevent the database from becoming a single point of failure, and to increase scalability , databases are often replicated between multiple computers, and load balancing is used to distribute the load index between these replicas. Microsoft ASP.net State Server technology is an example of a database session. All servers in the web farm store session data on the Main State Server server, and any server in the farm can retrieve data.

Cases when the client is a web browser are very common, a simple, effective approach is to store session data in the browser itself. One way to achieve this is to use a browser cookie , temporary encrypted tags. Another way is to rewrite the URL. Storing session data on the client is usually the preferred solution: then the load balancer is free to choose any server to process the request. However, this method of processing state data is not suitable for some complex business logic scenarios where the session state is a large payload and it is not possible to re-read it with each request to the server. Rewriting URLs has serious security issues because the end-user can easily change the URLs presented and thus change session streams.

Another solution for storing persistent data is to associate a name with each data block, and use a distributed hash table to pseudo-randomly assign a name to one of the available servers, and then store this data block in a designated server.

Load balancer features

Hardware and software load balancers can have various special characteristics. The main feature of the load balancer is the ability to distribute incoming requests through several servers in the cluster according to the planning algorithm. Most of the following vendor-specific properties are:

  • Asymmetric load: the ratio can be assigned to manually call some servers to get a larger share of the load than others. This is sometimes used as a way when one part of the server has more features than the others, and does not always work as desired.
  • Activation priority: when the number of available servers falls below a certain number, or the load becomes too high, part of the backup servers can be brought online.
  • SSL offloading and acceleration: depending on the workload, the processing of encryption and authentication for an SSL request can take up a significant part of processor time; since requests increase response time for users, since the SSL protocol increases the costs distributed between web servers. To remove this demand on web servers, the balancer can complete SSL connections by sending https requests, as well as http requests to web servers. If the balancer itself is not overloaded, this will not affect the performance perceived by end users. The disadvantage of this approach is that all SSL processing is concentrated on one device (balancer), which can become a new bottleneck. Some load balancing equipment includes specialized SSL processing equipment. Instead of upgrading the load balancer, which is quite expensive for specialized equipment, it may be cheaper to opt out of SSL offload and add multiple web servers. In addition, some server vendors, such as Oracle / Sun, now include hardware-based encryption acceleration in their processors, such as on the T2000 controller. The F5 network includes dedicated SSL hardware acceleration cards in their local traffic manager (LTM), which is used to encrypt and decrypt SSL traffic. One of the clear benefits for offloading SSL into balancing is that it allows balancing or switching content based on data in https requests.
  • Distributed denial of service (DDoS) attacks protection: load balancers provide protection with Sin cookies and delayed response (background servers do not see the client until it confirms itself over TCP) to mitigate Sin flood attacks and offload servers to a more efficient a platform.
  • Http compression: reduces the amount of data transmitted via http, using GZIP compression is supported by all modern browsers. The longer the response and the farther the customer, the more this feature can reduce response time. The trade-off is that this function adds extra load to the Balancer and removes it from the Web server.
  • TCP offloading: different manufacturers use different terms for this, but the idea is that usually each http request from each client is a different TCP connection. This feature uses the HTTP / 1.1 protocol to combine multiple http requests from multiple clients into a single TCP socket with background servers.
  • TCP buffering: a load balancer can hold a response buffer from the server and gradually respond to slow clients, allowing the web server to be free for other tasks, this is faster than sending the entire client request to the server directly.
  • Direct Server Response: an option for asymmetric load balancing, where the request and response have different network paths.
  • Health check: the balancer polls the servers for availability and removes inaccessible servers from the pool.
  • Caching http: the balancer maintains static content so that some requests can be processed without accessing the servers.
  • Content Filtering: some balancers can arbitrarily change their paths.
  • Security http: some balancers can hide http page errors, remove server authentication headers from http responses, and encrypt cookies, so that end users cannot manipulate them.
  • Queuing based on priorities : also known as traffic speed shaping , the ability to give different priorities for different transmissions.
  • Content-dependent switching: most load balancers can send requests to different servers based on the URLs requested, assuming the request is not encrypted (http) or if it is encrypted (via https) that the https request is decrypted in the load balancer.
  • Client Authentication: Authentication of users from various authentication sources before allowing them access to the site.
  • Software Traffic Manipulation: At least one balancer allows you to use a scripting language to allow custom balancing methods, arbitrary traffic manipulation, and much more.
  • Firewall : direct connections to the server have great features for the network. For security reasons, the balancer is used as a firewall (this is a set of rules that decide whether traffic is useful and which goes to the server backends or not.
  • Intrusion Prevention System : offering application-level security in addition to the network / transport firewall security level.

Telecommunications Usage

Балансировка Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΠΊΠ°Π·Π°Ρ‚ΡŒΡΡ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ΠΌ Π² прилоТСниях с Ρ€Π΅Π·Π΅Ρ€Π²ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΊΠ°Π½Π°Π»ΠΎΠ² связи. НапримСр, компания ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ нСсколько ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΉ ΠΊ Π˜Π½Ρ‚Π΅Ρ€Π½Π΅Ρ‚Ρƒ, обСспСчивая доступ ΠΊ сСти, Ссли ΠΎΠ΄Π½ΠΎ ΠΈΠ· соСдинСний Π½Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚. Π’ отказоустойчивых систСмах Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠ·Π½Π°Ρ‡Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΎΠ΄Π½ΠΎ Π·Π²Π΅Π½ΠΎ ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ΠΎ для Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ использования, Π° Π²Ρ‚ΠΎΡ€ΠΎΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² случаС, Ссли основной ΠΊΠ°Π½Π°Π» Π²Ρ‹ΠΉΠ΄Π΅Ρ‚ ΠΈΠ· строя.

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ балансировку Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ, ΠΎΠ±Π΅ ссылки ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ заняты всС врСмя. Устройство ΠΈΠ»ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΈΡ€ΡƒΠ΅Ρ‚ Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ всСх звСньСв ΠΈ Π²Ρ‹Π±ΠΈΡ€Π°Π΅Ρ‚ ΠΏΡƒΡ‚ΡŒ для ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠΈ ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ². ИспользованиС Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… ссылок ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΠ²Π°Π΅Ρ‚ Π΄ΠΎΡΡ‚ΡƒΠΏΠ½ΡƒΡŽ полосу пропускания.

ΠšΡ€Π°Ρ‚Ρ‡Π°ΠΉΡˆΠΈΠΉ ΠŸΡƒΡ‚ΡŒ ΠŸΡ€Π΅ΠΎΠ΄ΠΎΠ»Π΅Π½ΠΈΡ

Π‘Ρ‚Π°Π½Π΄Π°Ρ€Ρ‚ IEEE ΡƒΡ‚Π²Π΅Ρ€Π΄ΠΈΠ» стандарт IEEE 802.1 Ρ€-Ρ€ стандартный мая 2012 Π³ΠΎΠ΄Π° [2] Ρ‚Π°ΠΊΠΆΠ΅ извСстно ΠΈ Π·Π°Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΎ Π² Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π΅ ΠΊΠ½ΠΈΠ³ Π² качСствС ΠšΡ€Π°Ρ‚Ρ‡Π°ΠΉΡˆΠ΅Π³ΠΎ ΠΏΡƒΡ‚ΠΈ прСодолСния (КПП) . КПП позволяСт всСм ссылкам, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π±Ρ‹Ρ‚ΡŒ Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹ΠΌΠΈ Ρ‡Π΅Ρ€Π΅Π· нСсколько ΠΏΡƒΡ‚Π΅ΠΉ Ρ€Π°Π²Π½ΠΎΠΉ значимости, обСспСчиваСт Π±ΠΎΠ»Π΅Π΅ Π±Ρ‹ΡΡ‚Ρ€ΡƒΡŽ ΡΡ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ сокращая врСмя простоя ΠΈ ΡƒΠΏΡ€ΠΎΡ‰Π°Π΅Ρ‚ использованиС балансировки Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ Π² сСти ячСистой Ρ‚ΠΎΠΏΠΎΠ»ΠΎΠ³ΠΈΠΈ (частично ΠΈ/ΠΈΠ»ΠΈ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΎΠΉ), позволяя Ρ‚Ρ€Π°Ρ„ΠΈΠΊΡƒ Ρ€Π°ΡΠΏΡ€Π΅Π΄Π΅Π»ΡΡ‚ΡŒ Π½Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ для всСх ΠΏΡƒΡ‚Π΅ΠΉ сСти. [3] [4] КПП ΠΏΡ€ΠΈΠ·Π²Π°Π½Π° практичСски ΠΈΡΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ влияниС чСловСчСского Ρ„Π°ΠΊΡ‚ΠΎΡ€Π° Π² процСссС настройки ΠΈ сохраняСт ΠΏΡ€ΠΈΡ€ΠΎΠ΄Ρƒ Β«plug-and-playΒ» ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈ-ΠΈ-ΠΈΠ³Ρ€Π°ΠΉ, Ρ‡Ρ‚ΠΎ создаёт Ethernet Π² качСствС Π΄Π΅-Ρ„Π°ΠΊΡ‚ΠΎ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π° Π²ΠΎ Π²Ρ‚ΠΎΡ€ΠΎΠΌ слоС. [five]

ΠœΠ°Ρ€ΡˆΡ€ΡƒΡ‚ΠΈΠ·Π°Ρ†ΠΈΡ

МногиС Ρ‚Π΅Π»Π΅ΠΊΠΎΠΌΠΌΡƒΠ½ΠΈΠΊΠ°Ρ†ΠΈΠΎΠ½Π½Ρ‹Π΅ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ ΠΈΠΌΠ΅ΡŽΡ‚ нСсколько ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚ΠΎΠ² Ρ‡Π΅Ρ€Π΅Π· свои сСти ΠΈΠ»ΠΈ ΠΊ внСшним сСтям. Они ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ слоТныС Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ для смСны двиТСния с ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΏΡƒΡ‚ΠΈ Π½Π° Π΄Ρ€ΡƒΠ³ΠΎΠΉ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅Π³Ρ€ΡƒΠ·ΠΊΠΈ сСти Π½Π° ΠΊΠ°ΠΊΠΎΠΉ-Π»ΠΈΠ±ΠΎ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΉ ссылкС, Π° ΠΈΠ½ΠΎΠ³Π΄Π° ΠΈ свСсти ΠΊ ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌΡƒ ΡΡ‚ΠΎΠΈΠΌΠΎΡΡ‚ΡŒ Ρ‚Ρ€Π°Π½Π·ΠΈΡ‚Π½Ρ‹Ρ… ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ·ΠΎΠΊ Ρ‡Π΅Ρ€Π΅Π· внСшниС сСти ΠΈΠ»ΠΈ ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΠ΅ надСТности сСти.

Π”Ρ€ΡƒΠ³ΠΎΠΉ способ использования балансировки Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ Π² сСти с ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³ΠΎΠΌ Π΄Π΅ΡΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ. Балансировщики Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½Ρ‹ для разбиСния ΠΎΠ³Ρ€ΠΎΠΌΠ½Ρ‹Ρ… ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ… Π½Π° нСсколько суб-ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ² ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ нСсколько сСтСвых Π°Π½Π°Π»ΠΈΠ·Π°Ρ‚ΠΎΡ€ΠΎΠ², Π³Π΄Π΅ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ‡ΠΈΡ‚Π°Π΅Ρ‚ Ρ‡Π°ΡΡ‚ΡŒ исходных Π΄Π°Π½Π½Ρ‹Ρ…. Π­Ρ‚ΠΎ ΠΎΡ‡Π΅Π½ΡŒ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ для ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³Π° быстрых сСтСй, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ ΠΏΠΎΡ€Ρ‚Π° 10gbe ΠΈΠ»ΠΈ STM64, Π³Π΄Π΅ комплСкс ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π΄Π°Π½Π½Ρ‹Ρ… ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ΅Π½ Π½Π° скорости ΠΏΡ€ΠΎΠ²ΠΎΠ΄Π½ΠΎΠ³ΠΎ соСдинСия.

ΠžΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅ ΠΊ отказоустойчивости

Балансировка Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ отказоустойчивости β€”ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ΅Π½ΠΈΠ΅ Ρ€Π°Π±ΠΎΡ‚Ρ‹ слуТбы послС ΠΎΡ‚ΠΊΠ°Π·Π° ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ»ΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… Π΅Ρ‘ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ². ΠšΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΈΡ€ΡƒΡŽΡ‚ΡΡ постоянно (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π²Π΅Π±-сСрвСры ΠΌΠΎΠ³ΡƒΡ‚ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π²Ρ‹Π±ΠΎΡ€ΠΊΠΎΠΉ извСстных страниц), ΠΈ ΠΊΠΎΠ³Π΄Π° ΠΎΠ΄ΠΈΠ½ пСрСстанСт Ρ€Π΅Π°Π³ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ, балансировщик Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ информируСтся ΠΈ большС Π½Π΅ ΡˆΠ»Π΅Ρ‚ Ρ‚Ρ€Π°Ρ„ΠΈΠΊ Π½Π° этот сСрвСр. Когда ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ возвращаСтся Π½Π° линию, балансировщик Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ Π½Π°Ρ‡ΠΈΠ½Π°Π΅Ρ‚ ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚Ρ€Π°Ρ„ΠΈΠΊ ΠΊ Π½Π΅ΠΌΡƒ снова. Для Ρ‚ΠΎΠ³ΠΎ Ρ‡Ρ‚ΠΎΠ±Ρ‹ это Ρ€Π°Π±ΠΎΡ‚Π°Π»ΠΎ, Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ ΠΏΠΎ ΠΊΡ€Π°ΠΉΠ½Π΅ΠΉ ΠΌΠ΅Ρ€Π΅ ΠΎΠ΄ΠΈΠ½ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ Π² количСствС, ΠΏΡ€Π΅Π²Ρ‹ΡˆΠ°ΡŽΡ‰Π΅ΠΌ Π΅ΠΌΠΊΠΎΡΡ‚ΡŒ слуТбы (N+1 Ρ€Π΅Π·Π΅Ρ€Π²ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅). Π­Ρ‚ΠΎ Π³ΠΎΡ€Π°Π·Π΄ΠΎ дСшСвлС ΠΈ Π±ΠΎΠ»Π΅Π΅ Π³ΠΈΠ±ΠΊΠΈΠΌ, Ρ‡Π΅ΠΌ отказоустойчивого ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Ρ‹ Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΆΠΈΠ²ΠΎΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π² ΠΏΠ°Ρ€Π΅ с Π΅Π΄ΠΈΠ½ΠΎΠΉ Ρ€Π΅Π·Π΅Ρ€Π²Π½ΠΎΠΉ ΠΊΠΎΠΏΠΈΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π±Π΅Ρ€Π΅Ρ‚ Π½Π° сСбя Π² случаС Π²Ρ‹Ρ…ΠΎΠ΄Π° ΠΈΠ· строя (Π΄Π²ΠΎΠΉΠ½ΠΎΠ΅ ΠΌΠΎΠ΄ΡƒΠ»ΡŒΠ½ΠΎΠ΅ Ρ€Π΅Π·Π΅Ρ€Π²ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅). НСкоторыС Ρ‚ΠΈΠΏΡ‹ RAID систСм ΠΌΠΎΠΆΠ½ΠΎ Ρ‚Π°ΠΊΠΆΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для горячий рСзСрвирования для ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠ³ΠΎ эффСкта.

Links

  • БистСмы балансировки Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ Web-сСрвСров
  • Habrahabr.ru β€” ΠŸΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ Π½Π° Percona XtraDB Cluster. Π§Π°ΡΡ‚ΡŒ I. Одна ΠΈΠ· Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Ρ… ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΉ
  1. ↑ Β«High AvailabilityΒ» . linuxvirtualserver.org .
  2. ↑ Shuang Yu (8 May 2012).
  3. ↑ Peter Ashwood-Smith (24 Feb 2011).
  4. ↑ Jim Duffy (11 May 2012).
  5. ↑ Β«IEEE Approves New IEEE 802.1aq Shortest Path Bridging StandardΒ» .

Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Π°Ρ информация ΠΏΠΎ Ρ‚Π΅ΠΌΠ΅

  • Dynamic Load Balancing and Scheduling
  • A sample implementation with source codes by server routing for load balancing with full auto failure recovery and session-sticking/affinity supported
  • Open source based Zen Load Balancer
Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ β€” https://ru.wikipedia.org/w/index.php?title=Балансировка_Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ&oldid=101105757


More articles:

  • Afanasovo (Sergiev Posad district)
  • Dmitrovskoye (rural settlement of Shemetovskoye)
  • Mustachioed Bulls
  • Taccola
  • Kuchenyaevo (Chuvashia)
  • Andradit
  • Rishon Legion
  • McClain, Stacy
  • Alesina, Alberto
  • Lometsky, Oldrich

All articles

Clever Geek | 2019