GET_READ_BALANCE
Содержание раздела
Поддерживается в версиях: 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 |