Reputation: 512
My question concerns the recommended topology of Kafka brokers and controllers in KRaft mode.
Now, according to best practices with zookeeper we are supposed to create:
This is a well known structure that is recommended in every book and online course. But one of the drawbacks of this model is that we need to have at least 6 machines / nodes which is a lot.
Now, I'm afraid that in KRaft mode things might be different. The alternatives I see are the following:
The only thing that worries about model (3) is that I've not seen it in any other place so I'm not completely sure about it. Looking for your opinion and advise
Upvotes: 2
Views: 1981
Reputation: 53
Please make sure your topic configurations like min.insync.replicas can be provided during a rolling update or restart. Example, you might have broker, controller set on same machine which has replicas on itself as a broker and might be needed to update or restart as a controller and because it has replicas on it may cause an offline topic.
When you separate your controller quorum with your brokers, this is avoided completely.
Upvotes: 0
Reputation: 53
I might be a little late here but your proposed third option is not really cheaper than the second if all five machines run as brokers. Brokers have way higher hardware requirements than controllers, so I would still go for the conservative second way. Controller nodes will need as little as maybe 8 GB RAM and some storage/CPU so you only need three machines (the brokers) that do the heavy lifting with lots of RAM and storage (and some CPU)
Upvotes: 1