Omer,

Thanks for the email. This is an interesting thing to consider.
Conceptually, there is no reason why the controllers couldn't manage the
metadata for multiple brokers. The main counter-argument I can think of is
essentially the same as the motivation -- less isolation. With a shared
controller, one "noisy" broker cluster that put a lot of load on the
controller could affect metadata availability/latency for other broker
clusters. Related to this, having multiple broker clusters share one
controller cluster means a larger blast radius for controller failures.

The "noisy neighbor" problem could be mitigated with a good implementation,
but the failure coupling cannot.

In the containerized world, resources are abstracted away, so there is not
so much overhead to run a set of dedicated controller nodes. Even with
bare-metal hardware, controller processes can be run on the same nodes as
broker processes if needed.


The 2+1 data center example seems a bit tangential to me.

> This way metadata and data would have different level of availability
and it enable enterprises to design a more cost effective solution by
separating metadata and data service layer

Is the idea here to have a multi-region controller quorum and then single
region broker clusters? Could you achieve the same thing with one large
Kafka cluster spread across regions but with topics having assignments that
kept them region local? Is the "cost effectiveness" you're after just
inter-broker networking costs?

Maybe you could expand on this scenario and help motivate it a bit more?

-David

Reply via email to