Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

This KIP proposes a new protocol request and response to be added to the Kafka protocol, BrokerMetadataRequest and BrokerMetadataResponse. While simply adding a simple overall API protocol version adding only the ProtocolVersion field to the response would solve the issues at hand it is probably a good idea to conceive a more generic interface that allows the broker to communicate any sort of information about itself in a generic fashion to cater for future needs, such as communicating supported features, protocols, endpoints, etc, to the client.

...

KeyValue (example)Reason
broker.version0.9.0.0Useful for monitoring applications, admin tools, etc.
supported.compression.codecssnappy,gzip,lz4Lets a newer producer avoid using unsupported codecs. Alternatively using the Message.Attributes codes (e.g. "1,2,5").
endpointsplaintext:9091,ssl:9092

Announces broker endpoints, allows clients to "upgrade" connection to SSL

racka rack identifierFor rack based consumer balancing

<...><..>Arbitrary key-value configured in broker.properties by user. E.g., "rack"="a1b2", for consumer balancing.

Another benefit of this API is further client de-integration from ZooKeeper since broker and cluster metadata may now be queried directly from the broker.

...