目前是否可以在春季云流中将脉冲星交换为Kafka

问题描述 投票:1回答:1

我一直在尝试进行一些搜索(Google,Slack,Stack),但尚未找到答案。我们有些应用程序是用Spring Cloud Streams编写的,并且有兴趣将后端从Kafka交换到Pulsar。 Spring当前没有对Kafka的任何本机支持,但是pulsar似乎提供了使用Kafka API直接与pulsar通信的功能(https://pulsar.apache.org/docs/en/adaptors-kafka)。

我想知道是否有人在Spring云消息传递的上下文中走下了用Kafka-clients库的替代品的道路。

当然,另一种有效的方法是重新编写代码-但我想去社区看看到目前为止是否有人走这条路。

谢谢

spring apache-kafka spring-cloud-stream apache-pulsar
1个回答
0
投票

虽然不是您所要的,但我已尝试使用阴影库org.apache.pulsar:pulsar-client-kafka:2.5.0将Pulsar与Spring-Kafka集成,并且使用此堆栈将其炸毁跟踪:

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的自定义实现,可以绕过(对于这些特定的库版本,此特定的错误,但您可能会遇到更多问题。

© www.soinside.com 2019 - 2024. All rights reserved.