Hi,
ZK chroot allows the Zookeeper ensemble to be shared with other
applications, including other Kafka clusters, without a conflict.
Kafka brokers from different clusters can connect to a single ZK
ensemble consists from 5 nodes (metadata), I will explain below why I
have chosen 5 nodes.
One can have many brokers which can be failed/replaced/removed/added
at any time (data).
These 5 nodes of ZK ensemble are distributed against multiple
availability zones (3) makes metadata to be more highly available
compared to having nodes in 2 AZs.
AZ-A AZ-B AZ-C
+-----------+ +------------+ +-----------+
|+---+ +---+| | +---+ | |+---+ +---+|
||ZK1| |ZK2|| | |ZK3| | ||ZK4| |ZK5||
|+---+ +---+| | +---+ | |+---+ +---+|
+-----------+ +------------+ +-----------+
An enterprise may have two datacenter at their premises, for third
availability zone one can have it as a cloud service privately
connected (VPN) to enterprise network.
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
Quoting from Jay Kreps. -"you might have tens or hundreds of data
nodes but metadata remains tiny"
https://blog.empathybox.com/post/62279088548/a-few-notes-on-kafka-and-jepse=
n#:~:text=3Dyou%20might%20have%20tens%20or%20hundreds%20of%20data%20nodes%2=
C%20but%20metadata%20remains%20tiny
The question is, if Kraft protocol is ever able to have this functionality?
- chroot may implemented as different topics for the
"__cluster_metadata" (__cluster_metadata_clusterID)
- brokers that are from different clusters can cache metadata
according the clusterID
- controllers (quorum voters) does not care which brokers (forming a
cluster) that they are serving, data nodes come and go, only the
relevant metadata is sent for each cluster.
Should I invest time for this, maybe creating a KIP?
Thank you. Kind regards,
Omer Siar Baysal
ZK chroot allows the Zookeeper ensemble to be shared with other
applications, including other Kafka clusters, without a conflict.
Kafka brokers from different clusters can connect to a single ZK
ensemble consists from 5 nodes (metadata), I will explain below why I
have chosen 5 nodes.
One can have many brokers which can be failed/replaced/removed/added
at any time (data).
These 5 nodes of ZK ensemble are distributed against multiple
availability zones (3) makes metadata to be more highly available
compared to having nodes in 2 AZs.
AZ-A AZ-B AZ-C
+-----------+ +------------+ +-----------+
|+---+ +---+| | +---+ | |+---+ +---+|
||ZK1| |ZK2|| | |ZK3| | ||ZK4| |ZK5||
|+---+ +---+| | +---+ | |+---+ +---+|
+-----------+ +------------+ +-----------+
An enterprise may have two datacenter at their premises, for third
availability zone one can have it as a cloud service privately
connected (VPN) to enterprise network.
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
Quoting from Jay Kreps. -"you might have tens or hundreds of data
nodes but metadata remains tiny"
https://blog.empathybox.com/post/62279088548/a-few-notes-on-kafka-and-jepse=
n#:~:text=3Dyou%20might%20have%20tens%20or%20hundreds%20of%20data%20nodes%2=
C%20but%20metadata%20remains%20tiny
The question is, if Kraft protocol is ever able to have this functionality?
- chroot may implemented as different topics for the
"__cluster_metadata" (__cluster_metadata_clusterID)
- brokers that are from different clusters can cache metadata
according the clusterID
- controllers (quorum voters) does not care which brokers (forming a
cluster) that they are serving, data nodes come and go, only the
relevant metadata is sent for each cluster.
Should I invest time for this, maybe creating a KIP?
Thank you. Kind regards,
Omer Siar Baysal
Comments
Post a Comment