Spring中使用kafka

添加依赖

Maven中引用依赖

<!-- kafka -->
<dependency>
    <groupId>org.springframework.kafka</groupId>
    <artifactId>spring-kafka</artifactId>
</dependency>

Graden以下示例显示了如何使用Gradle进行操作:

compile 'org.springframework.kafka:spring-kafka'

创建topic

        KafkaTemplate在发送的时候就已经帮我们完成了创建的操作,所以我们不需要主动创建Topic,而是交由KafkaTemplate去完成。但这样也出现了问题,这种情况创建出来的Topic的Partition(分区)数永远只有1个,也不会有副本(不知道的回炉重造,Kafka部署集群时使用的),这就导致了我们在后期不能顺利扩展。所以这种情况我们需要使用代码手动去创建Topic。

 @Bean
 public NewTopic topic() {
    return new NewTopic("topic1", 3, (short) 1);
}
//创建TopicName为topic1的Topic并设置分区数为3以及副本数为2  dlt为死信队列
@Bean
public NewTopic dlt() {
    return new NewTopic("topic1.DLT", 3, (short) 2);
}

        后期我们想增加分区数来提高系统吞吐量,这样我们就需要修改一下Topic的分区数了。实现也非常简单,只需要修改在我们刚才编写的topic()方法的第二个参数, 紧接着重启一下项目即可。修改分区数并不会导致数据的丢失,但是分区数只能增大不能减小。



 

参考:https://www.jianshu.com/p/aa196f24f332

发布了74 篇原创文章 · 获赞 18 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/qq_40826106/article/details/104105542
今日推荐