Kafka主题别名

10

能否创建主题名称的别名?

或者换句话说...

如果用户写入主题examplea,是否可以在经纪人处覆盖它,以便他们实际上写入主题exampleb?

或者,如果主题实际上是examplea编写的,但是消费者可以将其称为exampleb。

我认为可以在经纪人处使用小技巧来回复元数据请求来实现这一点,但如果可以以某种标准方式完成,则最好不要这样做。

2个回答

1

Kafka 不原生支持别名。

一种解决方法是在 examplea 上进行生产,并有一个消费者/生产者对,该对从 examplea 消费并生产到 exampleb。消费者/生产者对可以使用 Kafka 客户端编写,作为 Connect 中的连接器、作为 MirrorMaker 实例(但您需要修改它以更改主题名称)或作为 Kafka Streams 作业。请注意,消息将在写入后被复制,因此它们稍后会出现在 exampleb 中。


谢谢您的建议。我曾考虑使用镜像制造器来实现您的建议。我相信v0.9引入了一个消息处理程序,可以在复制消息时重写消息。我也考虑过Kafka连接。我对这种方法的担忧是流最终会被写入磁盘两次,这不太高效。我希望能够获得类似于Linux文件系统上的链接的等效物,其中可以有多个名称引用相同的基础数据。再次感谢您的建议。我想知道是否可能在Zookeeper中链接znode? - Graham
快速的谷歌搜索表明,不幸的是ZooKeeper不支持znode符号链接。 - alexlod
也许现在不行,但或许将来可以。 - Graham

0

你是如何向 Kafka 主题写入数据的?如果是通过 REST 代理,你可以使用 NGINX 或类似的反向代理中介程序重写 URL 的主题部分。


没有Kafka生产者API。 我可能会考虑编写一个包装器,围绕Java类进行重命名。 - Graham

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接