При создании кластера вы можете выбрать режим его размещения:
Single-AZ — в одной зоне доступности.
Multi-AZ — в нескольких зонах доступности.
Использование нескольких зон доступности повышает отказоустойчивость кластера. При сбое одной зоны хосты в других зонах продолжают работу и кластер остается доступным.
При выборе режима Single-AZ все хосты кластера размещаются в одной зоне доступности.
Если зона доступности становится недоступна, все хосты кластера отключаются. Кластер становится полностью неработоспособным до восстановления инфраструктуры зоны.
Single-AZ подходит для разработки, тестирования и некритичных приложений.
Multi-AZ доступен только для кластеров с выделенным режимом хостов. При выборе режима Multi-AZ хосты кластера распределяются по разным зонам доступности. Реплики шардов автоматически размещаются в разных зонах, обеспечивая высокую доступность данных.
При сбое одной зоны доступности хосты в других зонах продолжают работу. Данные остаются доступны через реплики в оставшихся зонах. Клиенты продолжают отправлять запросы на чтение и запись в штатном режиме.
Multi-AZ подходит для production-среды и критичных приложений.
Отказоустойчивость данных обеспечивается за счет репликации внутри шардов. Каждый шард кластера может содержать несколько хостов ClickHouse — реплик. Реплики одного шарда хранят одинаковые данные: при записи на одну реплику данные автоматически синхронизируются на остальные.
При сбое одной реплики другие реплики шарда продолжают обслуживать запросы. После восстановления реплика автоматически получает недостающие данные от оставшихся реплик.
Для работы репликации кластеру необходим ClickHouse Keeper — он координирует процесс репликации и хранит метаданные реплицированных таблиц.
Хосты Keeper образуют кворум — минимальное количество хостов, которые должны быть доступны для координации репликации и выполнения распределенных операций.
В Managed ClickHouse всегда используются три хоста Keeper:
при отказе одного хоста — кластер работает в штатном режиме, кворум сохраняется;
при отказе двух хостов из трех — координация репликации и распределенные операции недоступны, чтение данных продолжается;
при отказе всех трех хостов — запись данных в реплицированные таблицы и распределенные операции недоступны.
После восстановления недоступных хостов кворум восстанавливается автоматически и кластер возобновляет работу.
При потере кворума ClickHouse Keeper вставка данных в реплицированные таблицы, выполнение распределенных запросов и изменение конфигурации кластера недоступны. Чтение данных по существующим таблицам продолжается.
Выбор режима хостов (комбинированный или выделенный) и режима отказоустойчивости (Single-AZ или Multi-AZ) определяет надежность кластера.
Конфигурация | Количество хостов | Отказоустойчивость |
|---|---|---|
Комбинированный, Single-AZ | 1 хост ClickHouse | Низкая. При сбое хоста или отказе зоны доступности кластер недоступен. Репликация данных отсутствует. |
Выделенный, Multi-AZ | От 1 до 3 шардов, 3 реплики на шард + 3 хоста Keeper | Высокая. При сбое хоста или отказе одной зоны доступности кластер доступен. Разделение функций обработки запросов и координации репликации повышает общую отказоустойчивость, так как появляются отдельные ресурсы для выполнения запросов клиентов и управления репликацией. |