[Документация Yandex Cloud](../../index.md) > [Yandex Managed Service for Apache Kafka®](../index.md) > [Концепции](index.md) > Высокая доступность кластера

# Высокая доступность кластера Managed Service for Apache Kafka®

Высокая доступность кластера Managed Service for Apache Kafka® определяется количеством и расположением его хостов, настройками топиков и другими параметрами кластера.

## Количество хостов кластера {#hosts}

В соответствии с [Соглашением об уровне обслуживания (SLA)](https://yandex.ru/legal/cloud_sla_kfk/), высокодоступным считается кластер с конфигурацией из трех или более хостов-брокеров.

### Кластер с одним хостом {#one-host}

Кластер с одним хостом — это самый дешевый и простой в работе вариант. Рекомендуется использовать его для тестовых кластеров или production-приложений, не требующих высокой доступности кластера.

Кластер из одного хоста не обеспечивает высокую доступность:

* При выходе из строя ВМ хоста-брокера кластер будет недоступен для чтения и записи до окончания работ по восстановлению ВМ.
* При переходе хоста в [режим read-only](storage.md#manage-storage-space) кластер будет недоступен для записи до ручного увеличения размера хранилища.

### Кластер с двумя хостами {#two-hosts}

В кластере с двумя хостами-брокерами фактор репликации топика не может быть больше двух, и на такой кластер не распространяется SLA.

По сравнению с кластером из одного хоста кластер с двумя хостами дает следующие преимущества:

* Возможна балансировка чтения и записи данных на уровне вашего приложения на два хоста-брокера, что ускоряет работу кластера.
* Возможна репликация разделов [топика](topics.md), если для топика задан фактор репликации `2`. Это обеспечивает его доступность в случае отказа одного из хостов.

Чтобы обеспечить высокую доступность кластера по SLA, вы можете [увеличить количество хостов-брокеров](../operations/cluster-update.md#change-brokers).

### Кластер с тремя и более хостами {#three-or-more-hosts}

Кластер с тремя и более хостами обеспечивает надежность хранения и бесперебойную доступность данных. Такой кластер соответствует критериям высокой доступности, и на него распространяется SLA.

Для обеспечения высокой доступности по SLA топики кластера должны иметь следующие параметры:

* **Фактор репликации** — `3`.
* **Минимальное число синхронных реплик** — `2`.

При этом в конфигурации [производителя](producers-consumers.md) рекомендуется указать параметр `acks=all`. Тогда запись сообщения в топик будет считаться успешной только после того, как Apache Kafka® получит подтверждение о записи от количества хостов-брокеров, указанного в параметре **Минимальное число синхронных реплик**. Подробнее в [документации Apache Kafka®](https://kafka.apache.org/42/configuration/producer-configs/#producerconfigs_acks).

## Доступность кластера при обслуживании {#maintenance}

В таблице приведены возможные варианты доступности кластера в зависимости от количества хостов-брокеров.

| **Топология кластера** | **Доступность при обслуживании** |
| --- | --- |
| Один хост | Полностью недоступен во время его перезагрузки и обновления. |
| Два хоста | Только хост, для которого потребовалась перезагрузка, становится временно недоступным. При обновлении версии Apache Kafka® топики кластера недоступны, если их фактор репликации равен 1. |
| Три хоста | Только хост, для которого потребовалась перезагрузка, становится временно недоступным. |

Рекомендуется выбирать предпочтительное [окно обслуживания](maintenance.md#maintenance-window) с учетом предполагаемой нагрузки на кластер.

## Прочие настройки {#other-settings}

На высокую доступность кластера также влияют следующие настройки:

* выбранный [тип дисков хранилища](storage.md);
* [классы хостов](instance-types.md);
* [квоты и лимиты](limits.md).


### Полезные ссылки {#see-also}

* [Рекомендации по отказоустойчивости в Yandex Cloud](../../architecture/fault-tolerance.md)