title: ÐÐ»Ð³Ð¾ÑÐ¸ÑÐ¼ Ð±Ð°Ð»Ð°Ð½ÑÐ¸ÑÐ¾Ð²ÐºÐ¸ Ð½Ð°Ð³ÑÑÐ·ÐºÐ¸ ÑÐµÑÐ²ÐµÑÐ¾Ð² Ñ ÑÑÐµÑÐ¾Ð¼ ÑÐ¾ÑÑÐ¾ÑÐ½Ð¸Ñ ÑÐ·Ð»Ð¾Ð² ÐºÐ»Ð°ÑÑÐµÑÐ°
title: Ð²ÑÐ¿ÑÑÐºÐ½Ð°Ñ ÐºÐ²Ð°Ð»Ð¸ÑÐ¸ÐºÐ°ÑÐ¸Ð¾Ð½Ð½Ð°Ñ ÑÐ°Ð±Ð¾ÑÐ° Ð¼Ð°Ð³Ð¸ÑÑÑÐ°
titleType: Subtitle
title: Load balancing algorithm for servers based on the state of the cluster nodes
Creators: name: ÐÑÐ³ÑÑÐ´Ð¸Ð½Ð¾Ð², ÐÐ°Ð½Ð¸ÑÐ»
Publisher: name: Ð¡Ð°Ð½ÐºÑ-ÐÐµÑÐµÑÐ±ÑÑÐ³ÑÐºÐ¸Ð¹ Ð¿Ð¾Ð»Ð¸ÑÐµÑÐ½Ð¸ÑÐµÑÐºÐ¸Ð¹ ÑÐ½Ð¸Ð²ÐµÑÑÐ¸ÑÐµÑ ÐÐµÑÑÐ° ÐÐµÐ»Ð¸ÐºÐ¾Ð³Ð¾
Year: 2019
Subjects: ÐÐ»Ð³Ð¾ÑÐ¸ÑÐ¼Ñ
ÐÐ½ÑÐµÑÐ½ÐµÑ
ÐÐ½ÑÐ¾ÑÐ¼Ð°ÑÐ¸Ð¾Ð½Ð½ÑÐµ ÑÐ¸ÑÑÐµÐ¼Ñ Ñ ÑÐ°ÑÐ¿ÑÐµÐ´ÐµÐ»ÐµÐ½Ð½ÑÐ¼Ð¸ Ð¿Ð°ÑÐ°Ð¼ÐµÑÑÐ°Ð¼Ð¸
Ð±Ð°Ð»Ð°Ð½ÑÐ¸ÑÐ¾Ð²Ð°Ð½Ð¸Ñ Ð½Ð°Ð³ÑÑÐ·ÐºÐ¸
ÐºÐ»Ð°ÑÑÐµÑ
ÑÐ·Ð»Ñ ÐºÐ»Ð°ÑÑÐµÑÐ°
ÑÐ¼ÑÐ»ÑÑÐ¾Ñ ÐºÐ»Ð°ÑÑÐµÑÐ°
ÑÐµÑÐµÐ²ÑÐµ ÑÐµÑ Ð½Ð¾Ð»Ð¾Ð³Ð¸Ð¸

description: Ð ÑÐ°Ð±Ð¾ÑÐµ ÑÐ°ÑÑÐ¼Ð¾ÑÑÐµÐ½Ð¾, ÑÑÐ¾ ÑÐ°ÐºÐ¾Ðµ ÐºÐ»Ð°ÑÑÐµÑ Ð¸ ÐºÐ°ÐºÐ¸Ðµ Ð·Ð°Ð´Ð°ÑÐ¸ Ð¾Ð½ ÑÐµÑÐ°ÐµÑ. ÐÑÐ¾Ð²ÐµÐ´ÐµÐ½ ÑÑÐ°Ð²Ð½Ð¸ÑÐµÐ»ÑÐ½ÑÑ Ð°Ð½Ð°Ð»Ð¸Ð· ÑÑÑÐµÑÑÐ²ÑÑÑÐ¸Ñ Ð°Ð»Ð³Ð¾ÑÐ¸ÑÐ¼Ð¾Ð² Ð±Ð°Ð»Ð°Ð½ÑÐ¸ÑÐ¾Ð²Ð°Ð½Ð¸Ñ Ð½Ð°Ð³ÑÑÐ·ÐºÐ¸. Ð¢Ð°ÐºÐ¶Ðµ Ð² ÑÐ°Ð±Ð¾ÑÐµ Ð¿ÑÐµÐ´ÑÑÐ²Ð»ÐµÐ½ ÑÑÐ´ ÑÑÐµÐ±Ð¾Ð²Ð°Ð½Ð¸Ð¹ Ðº Ð½ÐµÐ¾Ð±ÑÐ¾Ð´Ð¸Ð¼Ð¾Ð¼Ñ Ð°Ð»Ð³Ð¾ÑÐ¸ÑÐ¼Ñ Ð±Ð°Ð»Ð°Ð½ÑÐ¸ÑÐ¾Ð²Ð°Ð½Ð¸Ñ Ð½Ð°Ð³ÑÑÐ·ÐºÐ¸ Ñ Ð¾Ð¿Ð¸ÑÐ°Ð½Ð¸ÐµÐ¼ ÑÐ°Ð³Ð¾Ð² Ð¿Ð¾ Ð¿ÑÐ¾Ð²ÐµÑÐºÐµ ÑÑÐ¸Ñ ÑÑÐµÐ±Ð¾Ð²Ð°Ð½Ð¸Ð¹. ÐÑÐµÐ´Ð»Ð¾Ð¶ÐµÐ½ Ð°Ð»Ð³Ð¾ÑÐ¸ÑÐ¼ Ð±Ð°Ð»Ð°Ð½ÑÐ¸ÑÐ¾Ð²Ð°Ð½Ð¸Ñ Ð½Ð°Ð³ÑÑÐ·ÐºÐ¸, ÐºÐ¾ÑÐ¾ÑÑÐ¹ ÑÑÐ¸ÑÑÐ²Ð°ÐµÑ ÑÐ¾ÑÑÐ¾ÑÐ½Ð¸Ðµ ÑÐ·Ð»Ð¾Ð² Ð² ÐºÐ»Ð°ÑÑÐµÑÐµ. ÐÑÐ°ÐºÑÐ¸ÑÐµÑÐºÐ°Ñ ÑÐµÐ°Ð»Ð¸Ð·Ð°ÑÐ¸Ñ Ð°Ð»Ð³Ð¾ÑÐ¸ÑÐ¼Ð° Ð¿ÑÐµÐ´ÑÑÐ°Ð²Ð»ÐµÐ½Ð° Ð² Ð²Ð¸Ð´Ðµ Ð¼Ð¾Ð´ÑÐ»Ñ Ðº nginx. ÐÐ¾ ÑÑÐ¾Ð¹ Ð¿ÑÐ¸ÑÐ¸Ð½Ðµ Ð² ÑÐ°Ð±Ð¾ÑÐµ ÑÐ°ÑÑÐ¼Ð¾ÑÑÐµÐ½Ñ Ð¾ÑÐ¾Ð±ÐµÐ½Ð½Ð¾ÑÑÐ¸ Ð¸ÑÐ¿Ð¾Ð»ÑÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ API Ð´Ð»Ñ ÑÐ°Ð·ÑÐ°Ð±Ð¾ÑÐºÐ¸ nginx Ð¼Ð¾Ð´ÑÐ»ÐµÐ¹. Ð¢Ð°ÐºÐ¶Ðµ Ð² ÑÐ°Ð±Ð¾ÑÐµ Ð¾Ð¿Ð¸ÑÐ°Ð½Ñ ÑÐµÐ°Ð»Ð¸Ð·Ð°ÑÐ¸Ð¸ Ð¼Ð¾Ð´ÑÐ»Ñ Ð±Ð°Ð»Ð°Ð½ÑÐ¸ÑÐ¾Ð²Ð°Ð½Ð¸Ñ Ð½Ð°Ð³ÑÑÐ·ÐºÐ¸ Ð¸ Ð¼Ð¾Ð´ÑÐ»Ñ Ð¾Ð±ÑÐ°Ð±Ð¾ÑÑÐ¸ÐºÐ°. ÐÐ¾Ð´ÑÐ»Ñ Ð¾Ð±ÑÐ°Ð±Ð¾ÑÑÐ¸ÐºÐ° ÑÐ¸Ð¼ÑÐ»Ð¸ÑÑÐµÑ ÑÐ°Ð±Ð¾ÑÑ ÑÐ·Ð»Ð°, Ð¾Ð±ÑÐ°Ð±Ð°ÑÑÐ²Ð°ÑÑÐµÐ³Ð¾ Ð·Ð°Ð´Ð°ÑÐ¸ Ð¸Ð· Ð¾Ð±Ð»Ð°ÑÑÐ¸ ÑÐµÑÐµÐ²ÑÑ ÑÐµÑÐ½Ð¾Ð»Ð¾Ð³Ð¸Ð¹. Ð ÑÐµÐ·ÑÐ»ÑÑÐ°ÑÐµ ÑÐµÑÑÐ¸ÑÐ¾Ð²Ð°Ð½Ð¸Ðµ Ð²ÑÑÐ²Ð»ÐµÐ½Ð¾, ÑÑÐ¾ Ð°Ð»Ð³Ð¾ÑÐ¸ÑÐ¼ Ð²ÑÐ¿Ð¾Ð»Ð½ÑÐµÑ Ð²ÑÐµ Ð¿Ð¾ÑÑÐ°Ð²Ð»ÐµÐ½Ð½ÑÐµ Ð¿ÐµÑÐµÐ´ Ð½Ð¸Ð¼ ÑÑÐµÐ±Ð¾Ð²Ð°Ð½Ð¸Ñ. Ð Ð·Ð°ÐºÐ»ÑÑÐ¸ÑÐµÐ»ÑÐ½Ð¾Ð¹ ÑÐ°ÑÑÐ¸ ÑÐ°Ð±Ð¾ÑÑ Ð¿ÑÐ¾Ð²ÐµÐ´ÐµÐ½Ð¾ Ð½Ð°Ð³ÑÑÐ·Ð¾ÑÐ½Ð¾Ðµ ÑÐµÑÑÐ¸ÑÐ¾Ð²Ð°Ð½Ð¸Ðµ Ð² ÑÐ°Ð·Ð½ÑÑ ÑÑÐ»Ð¾Ð²Ð¸ÑÑ Ð²ÑÐµÑ ÑÐ°ÑÑÐ¼Ð°ÑÑÐ¸Ð²Ð°ÐµÐ¼ÑÑ Ð°Ð»Ð³Ð¾ÑÐ¸ÑÐ¼Ð¾Ð² Ð±Ð°Ð»Ð°Ð½ÑÐ¸ÑÐ¾Ð²Ð°Ð½Ð¸Ñ. ÐÑÑÐ²Ð»ÐµÐ½Ð¾, ÑÑÐ¾ Ð¿ÑÐ¸ Ð¸ÑÐ¿Ð¾Ð»ÑÐ·Ð¾Ð²Ð°Ð½Ð¸Ð¸ Ð¿ÑÐµÐ´Ð»Ð°Ð³Ð°ÐµÐ¼Ð¾Ð³Ð¾ Ð°Ð»Ð³Ð¾ÑÐ¸ÑÐ¼Ð° Ð² ÑÐ°ÑÑÐ¼Ð°ÑÑÐ¸Ð²Ð°ÐµÐ¼ÑÑ Ð² Ð´Ð°Ð½Ð½Ð¾Ð¹ ÑÐ°Ð±Ð¾ÑÐµ ÑÑÐ»Ð¾Ð²Ð¸ÑÑ ÐºÐ»Ð°ÑÑÐµÑ Ð¾Ð±ÑÐ°Ð±Ð°ÑÑÐ²Ð°ÐµÑ Ð½Ð° 36% Ð±ÑÑÑÑÐµÐµ Ð²ÑÐµ Ð¿Ð¾ÑÑÑÐ¿Ð¸Ð²ÑÐ¸Ðµ Ð·Ð°Ð¿ÑÐ¾ÑÑ.
description: The researching work considers the meaning of cluster and tasks which it solves. A comparative analysis of existing load balancing algorithms is conducted. The paper also presents the number of requirements for the necessary load balancing algorithm and gives the description of verification stages of these requirements. It is proposed the load balancing algorithm that considers the state of the nodes in the cluster. The practical implementation of the algorithm is presented as a module for nginx. For this reason, the paper discusses the peculiarities of using the API for developing nginx modules. The work also describes the implementation of both the load balancing module and the handler module, which simulates the operation of the node processing tasks in the field of speech technology. As a result, testing revealed that the algorithm fulfils all conditions required. In the final part of the work, load testing of all considered balancing algorithms was carried out in different conditions. It was revealed that the
cluster processes all incoming requests 36% faster due to the using of the proposed algorithm in the conditions considered in this paper.