首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >连接多个集群spring kafka

连接多个集群spring kafka
EN

Stack Overflow用户
提问于 2021-01-08 15:15:01
回答 2查看 721关注 0票数 2

我想从一个kafka集群消费消息并发布到另一个kafka集群。想知道如何使用spring-kafka进行配置吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2021-01-08 23:00:59

Stack Overflow用户

发布于 2021-01-09 00:15:19

您可以使用spring cloud stream kafka绑定器。

创建两个流,一个用于消费,另一个用于生产。

针对消费者

代码语言:javascript
复制
public interface InputStreamExample{
    String INPUT = "consumer-in";
    @Input(INPUT)
    MessageChannel readFromKafka();
}

对于生产者

代码语言:javascript
复制
public interface ProducerStreamExample{

    String OUTPUT = "produce-out";

    @Output(OUTPUT)
    MessageChannel produceToKafka();
}

对于消费消息的使用:

代码语言:javascript
复制
@StreamListener(value = ItemStream.INPUT)
public void processMessage(){
    /*
    code goes here
    */
}

用于生产

代码语言:javascript
复制
//here producerStreamExample is instance of ProducerStreamExample 
producerStreamExample.produceToKafka().send(/*message goes here*/);

现在使用绑定器配置消费者集群和生产者集群,消费者集群可以使用consumer-in,生产集群可以使用producing out。

属性文件

代码语言:javascript
复制
spring.cloud.stream.binders.kafka-a.environment.spring.cloud.stream.kafka.binder.brokers:<consumer cluster>
#other properties for this binders

#bind kafka-a to consumer-in
spring.cloud.stream.bindings.consumer-in.binder=kafka-a  #kafka-a binding to consumer-in
#similary other properties of consumer-in, like
spring.cloud.stream.bindings.consumer-in.destination=<topic>
spring.cloud.stream.bindings.consumer-in.group=<consumer group>


#now configure cluster to produce 

spring.cloud.stream.binders.kafka-b.environment.spring.cloud.stream.kafka.binder.brokers:<cluster where to produce>


spring.cloud.stream.bindings.produce-out.binder=kafka-b    #here kafka-b, binding to produce-out
#similary you can do other configuration like topic
spring.cloud.stream.bindings.produce-out.destination=<topic>

有关更多配置,请参阅:https://cloud.spring.io/spring-cloud-stream-binder-kafka/spring-cloud-stream-binder-kafka.html

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65624819

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档