[Verse 1]
In the distributed world of Kafka's reign
KRaft protocol breaks the old chain
No more ZooKeeper holding us down
Leader election's the new game in town
Vote RPC starts the conversation
BeginQuorumEpoch seals our foundation
[Chorus]
Pull don't push, that's the KRaft way
Fetch-based replication every day
High-watermark rising, committed and true
Observer nodes watching what leaders do
Vote, fetch, commit, repeat the flow
KRaft protocol is how we grow
[Verse 2]
Traditional Raft would push logs out
But KRaft says followers pull, no doubt
Fetch requests come from every node
Pulling entries down the replication road
Less network pressure, more control
Pull model plays a starring role
[Chorus]
Pull don't push, that's the KRaft way
Fetch-based replication every day
High-watermark rising, committed and true
Observer nodes watching what leaders do
Vote, fetch, commit, repeat the flow
KRaft protocol is how we grow
[Bridge]
High-watermark tells us what's safe to read
Committed offsets meet every need
When majority confirms what we wrote
That's when we advance and take our note
Observer nodes learn but never vote
Non-voter followers stay remote
[Verse 3]
BeginQuorumEpoch starts a new age
Leader and followers on the same page
Tracking committed offsets with care
Making sure data's consistent everywhere
Vote RPC chooses who will lead
Fetch RPC gets the logs we need
[Chorus]
Pull don't push, that's the KRaft way
Fetch-based replication every day
High-watermark rising, committed and true
Observer nodes watching what leaders do
Vote, fetch, commit, repeat the flow
KRaft protocol is how we grow
[Outro]
From Vote to Fetch to high-watermark
KRaft lights up Kafka with its spark
No ZooKeeper needed anymore
KRaft protocol opens up the door