Comments 6
Для балансировки клиентов (http протокола) клика все же лучше использовать chproxy: это специализированный l7 балансер с возможностью корректно распределять запросы между репликами шардов, настраивать пользовательские лимиты по длительности, конкурентности запросов и кешировать результаты. При этом он все еще довольно простой в настройке.
А ещё это единственный proxy, который по какой-то причине, решает за вас вопросы безопасности.

Тем самым по сути вычеркивая одну из фичей clickhouse - настройки на уровне запроса, усложняя миграцию на этот proxy, заставляя либо пересоздавать клиент каждый раз, когда нужно передать специализированный параметр, либо форматируя его напрямую в запрос в блок SETTINGS, заставляя буквально игнорировать возможности языка и передачу словарей настроек.
А ещё он может положить вам данные до такой степени, что придется вилкой выскребать.

Раньше вам стоило беспокоиться только об одном таймауте, и какой нибудь ALTER TABLE все равно доходил до конца. А с KILL QUERY, вы уверены, что мутация завершится корректно? Я вот - нет.
Специализированные прокси это хорошо, до тех пор пока они не трогают бизнес-логику вашего приложения, и не решают за вас как обрабатывать те же таймауты
Спасибо за комментарий!
Надеюсь, читателям будет полезна не только сама статья — где я старался найти баланс между простотой и информативностью, — но и опыт других авторов и коллег. У всех разный бэкграунд, и именно поэтому разные мнения так ценны: в них можно найти решения на разные случаи жизни.
Данные самого кх хранятся в фс контейнера -это так задумано?
Прямое монтирование файлов в контейнер - привет проблемам с изменением файла на хосте и не изменением внутри контейнера.
В данном случае я специально пошел на данное упрощение. Чтобы после docker compose down у разработчика кластер "обнулился". И чтобы не нужно было руками потом volumes вычищать. Все-таки кластер учебный, постарался потенциальные "грабли" убрать :)
Те кто глубже знает docker - думаю легко добавят нужные вольюмы для каждой ноды в compose.
Учебный кластер ClickHouse на Docker Compose: от нуля к работающему стенду