Выбор координатора
Тяжёлая прокси получает запрос от пользователя и делегирует его одному из инстансов, который называется «координатором». Пользователь может повлиять на стратегию выбора, например, для эффективного использования кеша.
Ниже перечислены различные стратегии выбора координатора в порядке убывания приоритетности (при попытке включить несколько стратегий будет выбрана более приоритетная):
-
Выбор конкретного инстанса.
Нужно добавить
job-cookie
интересующего инстанса к алиасу клики через символ@
. Например, для инстанса сjob-cookie=3
получится запрос такого видаhttp://cluster.domain.com/chyt?chyt.clique_alias=my-clique@3
. -
Выбор инстанса в пределах сессии.
В пределах одной ClickHouse-сессии прокси будет* выбирать один и тот же инстанс.
Примечание
*Если в последние несколько минут не происходило перезапуска инстансов.
Сессия определяется url-параметром
session_id
(так же как в оригинальном ClickHouse). Таким образом получается запрос видаhttp://cluster.domain.com/chyt?chyt.clique_alias=my-clique&session_id=abracadabra
. -
Стратегия StickyGroup.
Параметр
QueryStickyGroupSize
можно указать либо в конфигурации клики, либо передавать вместе в запросом в url-параметреchyt.query_sticky_group_size
.В таком случае прокси будет делегировать одинаковые запросы группе инстансов размера
QueryStickyGroupSize
, то есть один и тот же запрос будет попадать в случайный инстанс из этой группы.Выбор значения
QueryStickyGroupSize
может быть основан на следующих рассуждениях: при маленьких значениях кеш в выделенной группе прогревается быстро, а при больших — группа почти не страдает в случае выпадения одного инстанса, т. к. кеш большинства инстансов сохранится. -
Выбор случайного инстанса.
За отсутствием других стратегий координатор выбирается равновероятно среди всех доступных инстансов.