spring boot + kafka 使用详细步骤[通俗易懂]

spring boot + kafka 使用详细步骤[通俗易懂]一,Kafka的安装以及配置1.下载文件wgethttp://mirror.bit.edu.cn/apache/kafka/0.11.0.0/kafka_2.11-0.11.0.0.tgz2.安装tarxzvfkafka_2.11-0.11.0.0.tgz-C/usr/local/3.配置(服务器在阿里云ECS上)vi%kafka_home%/server…

大家好,又见面了,我是你们的朋友全栈君。

一,Kafka的安装以及配置

1.下载文件

wget http://mirror.bit.edu.cn/apache/kafka/0.11.0.0/kafka_2.11-0.11.0.0.tgz

2.安装

tar xzvf kafka_2.11-0.11.0.0.tgz -C /usr/local/

3.配置(服务器在阿里云ECS上)

vi %kafka_home%/server.properties

############################# Server Basics #############################
broker.id=0
port=9092
host.name=阿里云内网ip
advertised.host.name=阿里云外网ip
delete.topic.enable=true

....其他的配置不变

二,Spring boot操作Kafka

1.Spring boot pom依赖

<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>1.5.6.RELEASE</version>
    <relativePath/> <!-- lookup parent from repository -->
</parent>

2.kafka依赖

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

3.kafka配置

#kafka相关配置
spring.kafka.bootstrap-servers=阿里云外网ip:9092
#设置一个默认组
spring.kafka.consumer.group-id=defaultGroup
#key-value序列化反序列化
spring.kafka.consumer.key-deserializer=org.apache.kafka.common.serialization.StringDeserializer
spring.kafka.consumer.value-deserializer=org.apache.kafka.common.serialization.StringDeserializer
spring.kafka.producer.key-serializer=org.apache.kafka.common.serialization.StringSerializer
spring.kafka.producer.value-serializer=org.apache.kafka.common.serialization.StringSerializer
spring.kafka.producer.batch-size=65536
spring.kafka.producer.buffer-memory=524288

4.kafka发送代码

@Component
public class KafkaSender {
    @Autowired
    private KafkaTemplate kafkaTemplate;

    /**
     * 发送消息到kafka,主题为test
     */
    public void sendTest(){
        kafkaTemplate.send("test","hello,kafka  "  + LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss.SSS")));
    }
}

5.Kafka消费代码

public class KafkaConsumer {

    /**
     * 监听test主题,有消息就读取
     * @param message
     */
    @KafkaListener(topics = {"test"})
    public void consumer(String message){
        log.info("test topic message : {}", message);
    }
}

6,启动测试代码

@SpringBootApplication
@EnableScheduling
public class ServerApplication {
    @Autowired
    private KafkaSender kafkaSender;


    public static void main(String[] args) {
        SpringApplication.run(ServerApplication.class, args);
    }

    //然后每隔1分钟执行一次
    @Scheduled(fixedRate = 1000 * 60)
    public void testKafka() throws Exception {
        kafkaSender.sendTest();
    }
}

三,以上就是完整的spring boot整合Kafka消息队列的步骤.

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/141676.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Softmax函数求导

    Softmax函数求导来源:https://blog.csdn.net/zt_1995/article/details/62227603其实整个推导,上面这个图片已经介绍得十分清楚了,但是仍有很多小步骤被省略掉了,我会补上详细的softmax求导的过程:…

    2022年11月2日
  • android 环境搭建

    android 环境搭建

    2021年9月4日
  • c#时间转时间戳_数据库时间戳转换日期格式

    c#时间转时间戳_数据库时间戳转换日期格式原文地址:http://www.cnblogs.com/codemo/archive/2012/05/18/2507251.html//////时间戳转为C#格式时间/////////privateDateTimeGetTime(stringtimeStamp){

    2022年10月2日
  • idea2021全家桶激活破解方法

    idea2021全家桶激活破解方法,https://javaforall.net/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

    2022年3月15日
  • 请简述Map-Reduce算法的原理(通俗易什么成语)

    下面是我自己的微信公众号(不定期更新JAVA、大数据、个人成长等干货)1、公众号上有经典的技术电子书可以免费领2、大家有问题可以在公众号问我,只要你问了我就会回复(相互交流)也可以扫描下面二维码,加我个人微信,和我直接沟通Hadoop简介Hadoop就是一个实现了Google云计算系统的开源系统,包括并行计算模型Map/Reduce,分布式文件系统HDFS,以及…

    2022年4月13日
  • java长轮询「建议收藏」

    java长轮询「建议收藏」在服务端向页面主动推送消息的业务场景下,有长轮训和websocket两种思路。springboot和websocket使用:https://blog.csdn.net/u014203449/article/details/102902078现在看看长轮询:设想一个业务场景:A用户打开页面,要求实时刷新数据,B用户操作新增数据,A页面刷新。1.页面长轮询的做法是,A用户打…

    2022年10月14日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号