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