この記事は Distributed computing Advent Calendar 2017 の 13 日目の記事です。 Kafka のブローカー間、あるいはブローカーとクライアント間の通信は、TCP 経由のバイナリプロトコルです。 それぞれの通信は API として定義されており、どういうフォーマットのリクエスト・レスポンスなのかが定められています。 API にはバージョンがあります。 ブローカーがサポートする API のバージョンを取得するには、Kafka に標準に同梱されている kafka-broker-api-versions.sh が利用できます。 kafka-broker-api-versions.sh はクラスタ内に存在するブローカーのリストと、それぞれのブローカーがサポートする API バージョンを取得します。 $ kafka-broker-api-versions.sh
![Kafkaの管理ツールを読む - kafka-broker-api-versions.sh編 | Folioscope](https://cdn-ak-scissors.b.st-hatena.com/image/square/bc21fb48f41f7b768cdfd9187223ee7283e91697/height=288;version=1;width=512/https%3A%2F%2Fi-beam.org%2F2017%2F12%2F13%2Fkafka-broker-api-versions%2Fkafka.png)