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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 查看本机ip地址用什么命令linux_Linux查看服务器ip

    查看本机ip地址用什么命令linux_Linux查看服务器ip1)ifconfig命令输出如下:[root@topgun/home/cly]#ifconfigeth0:flags=4163mtu1500inet192.168.128.132netmask255.255.255.0broadcast192.168.128.255inet6fe80::20c:29ff:fe45:63baprefixlen64scopeid…

    2025年6月18日
    8
  • 视频直播技术_直播如何实现低延迟

    视频直播技术_直播如何实现低延迟借《让子弹飞》中姜文的名言作为开场白:让子弹飞一会儿。某名人吐槽说:还要飞一会儿哪?这子弹的延迟也忒大了。 该名人就是鄙人。为什么低延迟很重要?低延迟的子弹可以击杀敌军千米之外,低延迟的直播技术可以秒杀粉丝千里之外。互动直播技术已经成为直播平台的标配。没有互动直播技术的直播平台无法跻身直播行业第一梯队。而要获得互动直播技术,实现低延迟

    2022年7月21日
    18
  • 手机响应式网站设计_如何做响应式网页设计

    手机响应式网站设计_如何做响应式网页设计##wap页面怎么做?这个问题困扰了我好久,在PC上我们惯用的`px`单位在手机上根本不适用,即使我们写了“防止网页自动缩放也无济于事,因为各手机分辨率大小不同。用百分比布局。宽度自适应做到了但是高

    2022年8月6日
    7
  • Python 二进制,十进制,十六进制转换「建议收藏」

    Python 二进制,十进制,十六进制转换「建议收藏」十六进制到十进制使用int()函数,第一个参数是字符串’0Xff’,第二个参数是说明,这个字符串是几进制的数。 转化的结果是一个十进制数。>>>int(‘0xf’,16) 15二进制到十进制>>>int(‘10100111110′,2)   1342八进制到十进制>>>int(’17’,8)  15其实可以

    2022年5月19日
    46
  • Python正则表达式教程_python正则表达式匹配中文

    Python正则表达式教程_python正则表达式匹配中文????今天我们来学习python的正则表达式的部分,先说下为什么要学习这一部分呢,当然是因为正则表达式处理文本类型的数据实在是太方便了。为以后进入nlp领域打打基础!先给大家推荐一个网站:用于正则表达式验证.大致就长这个样子。这里写目录标题1.基础知识2.贪婪模式和非贪婪模式3.反斜杠的用途4.中括号的用法5.匹配启始和结束位置6.括号的用法—组选择7.正则表达式切割字符总结1.基础知识普通字符:普通字符的含义就是字节匹配他们。特殊字符:它们出现在正则表达式中,不是直接匹配他们,而是

    2022年10月4日
    5
  • 8款最好用的Java集成开发工具(IDE)

    8款最好用的Java集成开发工具(IDE)8款最好用的Java集成开发工具(IDE)IDE的选择涉及到很多方面,例如项目性质、团队和企业的偏好等等,但是对于一些基本的需求,每一个好的IDE都是必须满足的,例如它要支持你使用的语言,无论是是Scala、还是Groovy或者是Java8,IDE都应该能完美支持。其次,它还要与控制系统兼容;然后,它还要帮助程序员轻松处理文本;最后,它还要支持可靠快速的调试和测试。Thi

    2022年7月8日
    22

发表回复

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

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