2016-06-26 19 views
3

Ist es möglich, einen Alias ​​eines Themennamens zu erstellen?Kafka Topic Alias ​​

Oder um es anders auszudrücken ...

Wenn ein Benutzer Thema examplea schreibt, ist es möglich, dass beim Broker außer Kraft zu setzen, so dass sie tatsächlich zu Thema exampleb schreiben?

alternativ, wenn das Thema tatsächlich als examplea geschrieben wurde, aber der Verbraucher kann es als exampleb beziehen.

Ich denke, es könnte wahrscheinlich mit kleinen Hack an den Broker erreicht werden, wo es auf Metadaten Anfragen antwortet, aber ich würde lieber nicht, wenn es in einer Standard-Weise getan werden kann.

Antwort

1

Aliase werden in Kafka nicht nativ unterstützt.

Eine Abhilfe könnte es sein, examplea zu produzieren und einen Verbraucher/Produzent Paar haben, dass die Verbraucher von examplea und exampleb produziert. Das Consumer/Producer-Paar könnte mit Kafka-Clients, als Connector in Connect, als MirrorMaker-Instanz (obwohl Sie es ändern müssen, um den Themennamen zu ändern) oder als Kafka-Stream-Job geschrieben werden. Beachten Sie, dass die Nachrichten in exampleb leicht nach examplea angezeigt werden, da sie nach dem Schreiben kopiert werden.

+0

Vielen Dank für Ihren Vorschlag. Ich hatte daran gedacht, den Mirror Maker zu benutzen, um das zu tun, was Sie vorschlagen. Ich glaube, dass v0.9 einen Message-Handler eingeführt hat, der Nachrichten replizieren kann, wenn sie repliziert werden. Ich hatte auch an Kafka connect gedacht. Meine Sorge mit diesem Ansatz ist, dass die Dämpfe am Ende zweimal auf die Festplatte geschrieben werden, was nicht sehr effizient ist. Was ich gerne hätte, ist das Äquivalent eines Links auf einem Linux-Dateisystem, bei dem mehrere Namen dieselben zugrunde liegenden Daten enthalten können. Nochmals vielen Dank für Ihren Vorschlag. Ich frage mich, ob es möglich ist, znodes im Tierpfleger zu verbinden? – Graham

+0

Eine schnelle Google-Suche schlägt vor, dass ZooKeeper leider keine znode-Symlinks unterstützt. – alexlod

+0

Dachte nicht, vielleicht eines Tages – Graham

0

Wie schreibst du zum Kafka-Thema, denn wenn es über einen REST-Proxy geht, solltest du den Themenbereich der URL mit NGINX oder einem ähnlichen Reverse-Proxy-Vermittler neu schreiben können.

+0

Nein, Kafka Produzent api. Ich könnte erwägen, einen Wrapper um die Java-Klasse zu schreiben, damit sie dort umbenannt werden kann. – Graham

Verwandte Themen