目前是否有可能在 Spring 云流中用pulsar替换kafka

atmip9wb  于 2021-06-04  发布在  Kafka
关注(0)|答案(1)|浏览(439)

我一直在尝试做一些搜索(google,slack,stack),但还没有找到答案。我们有一些应用程序是使用spring云流编写的,并且对将后端从kafka交换到pulsar很感兴趣。spring目前不支持kafka,但是pulsar提供了使用kafkaapi直接与pulsar通信的能力(https://pulsar.apache.org/docs/en/adaptors-kafka).
我想知道是否有人想用这个替代品来代替 Kafka-clients spring云消息上下文中的库。
当然,另一种有效的方法是重新编写代码——但我想求助于社区,看看是否有人走上了这条路。
谢谢

mf98qq94

mf98qq941#

虽然不完全是你想要的,但我已经尝试使用shaded library org.apache将pulsar与spring kafka集成。pulsar:pulsar-client-kafka:2.5.0,它会随着堆栈轨迹爆炸:

Caused by: java.lang.UnsupportedOperationException: null
at org.apache.kafka.clients.consumer.KafkaConsumer.partitionsFor(KafkaConsumer.java:650) ~[pulsar-client-kafka-2.5.0.jar:2.5.0]
at org.springframework.kafka.listener.AbstractMessageListenerContainer.checkTopics(AbstractMessageListenerContainer.java:312) ~[spring-kafka-2.2.10.RELEASE.jar:2.2.10.RELEASE]
at org.springframework.kafka.listener.ConcurrentMessageListenerContainer.doStart(ConcurrentMessageListenerContainer.java:136) ~[spring-kafka-2.2.10.RELEASE.jar:2.2.10.RELEASE]
at org.springframework.kafka.listener.AbstractMessageListenerContainer.start(AbstractMessageListenerContainer.java:292) ~[spring-kafka-2.2.10.RELEASE.jar:2.2.10.RELEASE]
at org.springframework.kafka.config.KafkaListenerEndpointRegistry.startIfNecessary(KafkaListenerEndpointRegistry.java:311) ~[spring-kafka-2.2.10.RELEASE.jar:2.2.10.RELEASE]
at org.springframework.kafka.config.KafkaListenerEndpointRegistry.start(KafkaListenerEndpointRegistry.java:255) ~[spring-kafka-2.2.10.RELEASE.jar:2.2.10.RELEASE]
at org.springframework.context.support.DefaultLifecycleProcessor.doStart(DefaultLifecycleProcessor.java:182) ~[spring-context-5.1.10.RELEASE.jar:5.1.10.RELEASE]

使用abstractmessagelistenercontainer.checktopics的自定义实现可以绕过此特定错误(对于这些特定的库版本),但您可能会遇到更多问题。

相关问题