Hey all,
I have raised a design proposal for Kroxylicious here:
https://github.com/kroxylicious/design/pull/120
Today, Kroxylicious SNI broker address patterns support $(nodeId), but they do not support using the broker rack value from Kafka metadata.
This proposal adds optional rack-aware tokens:
$(rackId)
$(rackId:<default>)
The motivation is to better support multi-AZ deployments. In such deployments, traffic can sometimes flow through a load balancer in one AZ, a Kroxylicious pod in another AZ, and a Kafka broker or partition leader in a different AZ. For high-volume Kafka produce/fetch traffic, this can increase latency and inter-AZ data transfer cost.
By including rack/AZ-like information in advertised broker hostnames, operators can configure DNS or load-balancer routing policies to prefer zone-local Kroxylicious endpoints where possible.
Please take a look and share your thoughts.