Выбор координатора
Тяжёлая прокси получает запрос от пользователя и делегирует его одному из инстансов, который называется «координатором». Пользователь может повлиять на стратегию выбора, например, для эффективного использования кеша.
Ниже перечислены различные стратегии выбора координатора в порядке убывания приоритетности (при попытке включить несколько стратегий будет выбрана более приоритетная):
-
Выбор конкретного инстанса.
Нужно добавить
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может быть основан на следующих рассуждениях: при маленьких значениях кеш в выделенной группе прогревается быстро, а при больших — группа почти не страдает в случае выпадения одного инстанса, т. к. кеш большинства инстансов сохранится. -
Выбор случайного инстанса.
За отсутствием других стратегий координатор выбирается равновероятно среди всех доступных инстансов.