Skip to content

Конфигурация параметров кластера

1. Обзор

1.1 Описание проблемы

Некоторые из часто используемых параметров в текущей функции кластеризации требуют ручного добавления или изменения полей в базе данных при их настройке, что влечет за собой следующие две проблемы:

  • Пользователь не знает, как настроить эти параметры и что они означают.
  • Изменение полей в базе данных связано с некоторыми операционными расходами.

1.2 Решения

Для часто используемых параметров кластера, конфигурации открытой платформы FineBI, пользователи могут реализовать свою собственную конфигурацию, что в настоящее время разрешено:

  • Префикс ключа хранилища Redis
  • параметр внутренней переадресации

2. Презентация конфигурации

После того как пользователи настроят кластеры на платформе, войдите в платформу в качестве администратора, нажмите "System Management > Интеллектуальная эксплуатация и обслуживание > Конфигурация кластера", и на странице конфигурации параметров вы сможете настроить параметр "Префикс ключа хранения Redis" и "Параметр внутренней переадресации".

При настройке параметров наведите курсор на текстовое поле элемента конфигурации, появится значок подсказки, нажмите на него, чтобы ввести требования к символам. Как показано на рисунке ниже:

2.1 Redis хранит ключевые префиксы

Если вы используете сервер Redis, который является частью публичного сервиса, используемого также другими проектами. Чтобы избежать конфликтов между ключами нескольких проектов, нам нужно настроить префиксы ключей, хранящихся в Redis для разных проектов.

После настройки и перезапуска проекта мы можем запросить значение ключа нового префикса из redis, более подробную информацию см. в: Linux System Redis Operation and Maintenance Manual.

элемент конфигурациистандартная конфигурацияТребования к персонажу
ключевой префикс__fine_state_key_43e1b2fe42__Английский корпус, арабские цифры, подчеркивание

После изменения "префикса ключа" нажмите кнопку "Сохранить" с правой стороны, всплывающее окно напомнит пользователю, что настройки параметров были изменены, пожалуйста, перезапустите проект каждого узла, чтобы они вступили в силу, как показано на следующем рисунке:

2.2 Внутренние параметры пересылки

2.2.1 Принципы

Обычно мы настраиваем балансировку нагрузки с политикой пересылки по опросу, при которой балансировка нагрузки не определяет принадлежность узла к запросу и пересылает запрос каждому узлу в соответствии с политикой опроса.

Когда узел получает запрос, который ему не принадлежит, он внутренне пересылает запрос соответствующему узлу для обработки, а затем возвращает его тем же способом после обработки запроса.

Исходя из этой логики, когда узел не работает и не может ответить на запрос, направленный внутрь, балансировка нагрузки может неправильно определить нормальный узел, а также привести к задержке возврата этого запроса и отсутствию сообщения об ошибке с внешнего узла.

Чтобы избежать простоя одного узла, приводящего к недоступности кластера, была добавлена проверка состояния запросов, передаваемых между узлами, что позволяет ограничить аномальные узлы и включить внешние оповещения.

Когда сервер узла отклоняет соединение, появляется ошибка: 41300002 server rejected this connection, the error page is shown in the following figure:

1639021585761535.png

Если время пересылки между узлами кластера превышает установленный таймаут, появляется ошибка: 41300001 Server Service Response Time Excessive, а страница ошибки показана на следующем рисунке:

1639021602536051.png

2.2.2 Инструкции по конфигурированию

элемент конфигурациистандартная конфигурацияединица (измерения)Требования к заполнениюскрытый смысл
таймаут90единица угла или дуги, эквивалентная одной шестидесятой градусаЦелое число не менее 10Таймаут чтения и записи: если сервер не возвращает или не получает данные в течение периода таймаута, это считается таймаутом. Если расчет или экспорт некоторых отчетов занимает несколько минут или больше, необходимо установить более длительный таймаут.Соответствующие параметры в nginx - proxy_read_timeout и proxy_send_timeout, которые должны быть больше, чем таймаут, настроенный платформой
Количество попыток8вице-целое положительное числоМаксимальное количество попыток в одном цикле, этот параметр должен быть ≥ 1, максимальное количество неудачных попыток nСоответствующий параметр в nginx - max_fails, который рекомендуется сделать больше или равным количеству попыток, настроенных в платформе
время задержки90единица угла или дуги, эквивалентная одной шестидесятой градусаЦелое число не менее 10После того как неудачный запрос превысит максимальное количество попыток в течение одного времени истечения срока действия, узел переходит в состояние истечения срока действия, и новые запросы не будут направляться на этот узел.Соответствующий параметр в nginx - fail_timeout, который рекомендуется сделать больше или равным значению, настроенному платформой.

После изменения "Internal Forwarding Parameters" нажмите кнопку Save (Сохранить) с правой стороны, всплывающее окно напомнит пользователю, что настройки параметров были изменены, пожалуйста, перезапустите проект каждого узла, чтобы они вступили в силу, как показано на следующем рисунке: