То же самое, 1 лидер, остальные фолловеры.
из трех умирать может один, живо должно быть > 50% нод. Принцип кворума.
а нельзя убрать это ограничение?
нет, это принцип работы зукипера. formula Q = 2N+1 where Q defines number of nodes required to form a healthy Ensemble which can allow N failure nodes. а какую задачу вы хотите решить этим, возможность работы при потери большей части инфраструктуры?
то есть если из 3 брокеров умирает 1, то кластер разваливается?
нет, из 3х может умереть один, из 5 - уже два. и мы про зукиперы же говорим, не про брокеры
с ними понял. А у брокеров? если их 3, то также все? 1 может умереть?
У брокеров нет кворума, каждая нода самостоятельная, главное чтобы могла достучаться до зукипера. Тут все зависит от настроек репликации топиков - есть живые реплики - все работает, нет живых реплик - не работает (или работает с потерей данных)
вообще зукипер в доках пишет про три вида кворума - обычный, с весами и иерархические группы https://zookeeper.apache.org/doc/current/zookeeperInternals.html#:~:text=consistency%20and%20linearizability.-,Quorums,to%20use%20majority%20quorums%2C%20weights%2C%20or%20a%20hierarchy%20of%20groups.,-Logging Можно, наверное, с этим поэкспериментировать, но я хз, делал кто-нить для кафки другие виды кворумов.
Там выше была большая статья. Вкратце - как настроишь. По умолчанию могут хоть два брокера помереть, кафка продолжит работать. Для отказоустойчивости стандартно настраивается так, что кластер из 3 брокеров может пережить выпадение одного, из 5 - двух. Но это не из коробки, это надо садится, разбираться в параметрах, и настраивать, причём как на брокерах, так и на клиентах (продюсерах в первую очередь).
а из коробки подскажешь как устроено? падение 1 - ок падение 2 - стоп?
Никак. Кластер - это уже не из коробки. Если собрать его вообще не думая - переживёт падение трёх из трёх и потеряет все данные не пикнув. Статья выше.
Обсуждают сегодня