Протокол Apache Kafka® Raft в кластерах Managed Service for Apache Kafka®
Apache Kafka® Raft
KRaft поддержан в кластерах Managed Service for Apache Kafka® с версией Apache Kafka® 3.6 и выше.
ZooKeeper поддержан в кластерах с версиями Apache Kafka® 3.9 и ниже.
Примечание
Причина замены ZooKeeper на KRaft — с версией Apache Kafka® 4.0 поддержка ZooKeeper прекратится.
Топология кластера Managed Service for Apache Kafka®
KRaft автоматически настраивается и размещается в кластере в зависимости от выбранного режима работы и количества хостов-брокеров:
-
KRaft (комбинированный режим) — на одном хосте Apache Kafka® одновременно размещаются брокер и контроллер метаданных KRaft. При этом в кластере создаются только три хоста Apache Kafka® в одной из конфигураций:
- три хоста находятся в одной зоне доступности;
- каждый хост расположен в отдельной зоне доступности.
Задать количество хостов-брокеров вручную нельзя.
-
KRaft (на отдельных хостах) — брокер и контроллер метаданных KRaft размещаются на отдельных хостах. При создании кластера с несколькими хостами, в него добавляются три выделенных хоста KRaft.
Количество хостов-брокеров задается вручную.
Хосты KRaft нельзя удалить. Количество хостов KRaft фиксировано.
Подробнее о создании кластера Managed Service for Apache Kafka® с протоколом KRaft см. в инструкции.
Преимущества и недостатки Apache Kafka® Raft
Преимущества KRaft связаны с тем, что Apache Kafka® больше не зависит от внешней системы ZooKeeper:
- Для информационной безопасности используется один механизм вместо нескольких.
- Управлять кластером с KRaft проще, так как в кластере нет хостов ZooKeeper.
- Повышается отказоустойчивость кластера, в случае сбоя кластер восстанавливается почти мгновенно.
- Можно создавать бо́льшее количество партиций в кластере.
Подробнее см. на сайте
Недостатки KRaft объясняются особенностями топологии кластеров:
- В комбинированном режиме контроллеры метаданных KRaft не изолированы от Apache Kafka® настолько же хорошо, как в split-режиме с выделенным подкластером контроллеров метаданных. Поэтому Apache Kafka® не рекомендует
использовать комбинированный режим в критически важных средах разработки. Комбинированный режим больше подходит для локальной разработки и тестирования. - В кластере с KRaft нельзя гибко управлять количеством хостов, допускается ровно три хоста.