GET_READ_BALANCE

Содержание раздела
  1. Связанные запросы
  2. Синтаксис
  3. Варианты ответа
    1. Параметры ответа
  4. Примеры
    1. Запрос настроек по одному приоритету запросов в одном датасорсе
    2. Запрос настроек по одному приоритету запросов во всех датасорсах
    3. Запрос настроек по всем приоритетам запросов во всех датасорсах

Поддерживается в версиях: 7.7.

Запрос возвращает текущие настройки балансировки чтения.

Информация в ответе представлена в разрезе приоритетов запросов и датасорсов. Доступен запрос:

  • по одному приоритету в одном датасорсе;
  • по одному приоритету во всех датасорсах;
  • по всем приоритетам во всех датасорсах.
  • SET_READ_BALANCE — добавляет или обновляет настройку балансировки;
  • ERASE_READ_BALANCE — удаляет настройки балансировки;
  • CHECK_READ_SLOTS — возвращает текущее состояние слотов на чтение;
  • RESET_READ_SLOTS — обнуляет счетчики занятых слотов на чтение.

Синтаксис

GET_READ_BALANCE([sql_request_priority[, datasource_name]])

Если параметры отсутствуют, возвращается информация по всем настроенным приоритетам запросов во всех датасорсах.

Параметры:

sql_request_priority (varchar | char | string)

Приоритет запросов на чтение, по которому запрашиваются настройки балансировки.

Если указан приоритет, для которого отсутствуют настройки балансировки, возвращается пустой ответ.

datasource_name (varchar | char | string)

Имя датасорса, по которому запрашиваются настройки балансировки для приоритета.

Если указанное имя не соответствует конфигурации, возвращается пустой ответ. Если имя датасорса не указано, возвращается информация по всем датасорсам:

  • указанного приоритета запросов — если sql_request_priority указан;
  • всех приоритетов запросов — если sql_request_priority не указан.

Варианты ответа

Успешный ответ содержит объект ResultSet, где каждая строка соответствует настройке балансировки для одного приоритета запросов в одном датасорсе. Неуспешный ответ содержит исключение.

Ответ формируется по данным лидера кластера. При его временной недоступности до выбора нового лидера запрос возвращает ошибку.

Параметры ответа

Каждая строка успешного ответа содержит следующую информацию:

  • sql_request_priority — приоритет запросов на чтение;
  • datasource — имя датасорса, настроенного для приоритета запросов;
  • datasource_priority — вес датасорса при выборе для запросов указанного приоритета (чем больше значение, тем большее предпочтение отдается датасорсу);
  • slots_limit — лимит слотов в датасорсе, выделяемых каждой нодой.

Примеры

Запрос настроек по одному приоритету запросов в одном датасорсе

GET_READ_BALANCE('high', 'adp2')

Пример ответа:

sql_request_priority datasource datasource_priority slots_limit
High ADP2 10 5

Запрос настроек по одному приоритету запросов во всех датасорсах

GET_READ_BALANCE('high')

Пример ответа:

sql_request_priority datasource datasource_priority slots_limit
High ADP 10 5
High ADP2 10 5
High ADP3 1 3

Запрос настроек по всем приоритетам запросов во всех датасорсах

GET_READ_BALANCE()

Пример ответа:

sql_request_priority datasource datasource_priority slots_limit
High ADP 10 5
High ADP2 10 5
High ADP3 1 3
Low ADP3 1 2