我有两个经纪人。第一次运行0.9,第二次运行0.10
各种工作人员和守护进程都会消费并向两个经纪人发送消息。
对于一个应用程序,我需要来自使用KStreams
并连接到0.10代理的应用程序的0.9主题消耗品的消息。
是否有一种简单的方法可以将一个主题从0.9复制到0.10?或者使用0.10客户端连接到0.9?我不想在同一个罐子里把两个版本塞满。只使用0.10客户端消费0.9经纪人似乎无法工作。
答案 0 :(得分:3)
通常,只有Kafka代理向后兼容(不是Kafka客户端)。因此,客户端可以连接到较新的代理,但不能连接到较旧的代理。
由于Kafka Streams库使用0.10.x
客户端,因此它仅适用于0.10.x
代理。
因此,按照此处所述升级您的代理:https://kafka.apache.org/documentation.html#upgrade应该是最好的方法(这是安全的,因为代理向后兼容,因此不会破坏使用此代理与旧客户端的任何其他应用程序)。 / p>
作为替代方案,您还可以使用Mirror Maker将主题从0.9.x
群集复制到0.10.x
群集。
答案 1 :(得分:-1)
我的解决方案是使用jarjar重写0.9客户端jar,以便类/类型不与0.10客户端冲突。它很脏,但它适用于jvm关于拥有同一个库的两个版本的意见。