Kafka Themen-API-Optionen für Nicht-Java-Sprachen erstellen
Während Sie ein Thema über Java oder Java-basierte Sprachen erstellen können (sieheHie), es scheint keinen sauberen Weg zu geben, dies ohne Java zu tun. Reinsprachige Client-APIs (wiekafka-node
, ein reiner JavaScript-Client) kann keine Themen direkt erstellen. Stattdessen haben wir zwei Möglichkeiten:
1) Verwenden Sie einen Hack wie das Senden einer Metadatenanforderung an ein Thema - ifauto.create.topics.enable
ist eingestellt auftrue
, dann können Sie ein Thema erstellen - jedoch nur mit der Standardkonfiguration, ohne Kontrolle über Partitionen usw.
2) Schreiben Sie einen Wrapper um einen Java-basierten Client, nur um ein Thema zu erstellen. Der einfachste Weg dies zu tun istexec
das Skriptbin/kafka-topics.sh
mit Kommandozeilenargumenten, was gelinde gesagt hässlich ist.
Gibt es dafür einen besseren Weg? Es gibt einen reinen JavaScript-Client für Zookeeper,node-zookeeper-client
, was passiert, wenn ich die Broker- / Partitionsinformationen direkt in Zookeeper bearbeite?
Irgendwelche anderen Gedanken?