Springboot整合Kafka

川长思鸟来 2022-10-06 01:59 309阅读 0赞

Springboot整合Kafka

介绍kafka

Kafka是由Apache软件基金会开发的一个开源流处理平台,由Scala和Java编写。Kafka是一种高吞吐量的分布式发布订阅消息系统,它可以处理消费者在网站中的所有动作流数据。 这种动作(网页浏览,搜索和其他用户的行动)是在现代网络上的许多社会功能的一个关键因素。 这些数据通常是由于吞吐量的要求而通过处理日志和日志聚合来解决。 对于像Hadoop一样的日志数据和离线分析系统,但又要求实时处理的限制,这是一个可行的解决方案。Kafka的目的是通过Hadoop的并行加载机制来统一线上和离线的消息处理,也是为了通过集群来提供实时的消息

特性:

  • Kafka 是一种高吞吐量的分布式发布订阅消息系统,有如下特性:通过O(1)的磁盘数据结构提供消息的持久化,这种结构对于即使数以TB的消息存储也能够保持长时间的稳定性能。
  • 高吞吐量 :即使是非常普通的硬件Kafka也可以支持每秒数百万的消息。
  • 支持通过Kafka服务器和消费机集群来分区消息。
  • 支持Hadoop并行数据加载。

整合:

1.导入依赖

  1. <dependency>
  2. <groupId>org.springframework.kafka</groupId>
  3. <artifactId>spring-kafka</artifactId>
  4. </dependency>

2.配置

  1. spring:
  2. kafka:
  3. producer:
  4. bootstrap-servers: ip:9092
  5. consumer:
  6. group-id: springboot-group1,springboot-group2
  7. auto-offset-reset: earliest

发送定时任务:docker开启kafka+zookeeper

  1. @Component
  2. @EnableScheduling
  3. public class KafkaSender {
  4. //模板
  5. @Autowired
  6. private KafkaTemplate kafkaTemplate;
  7. /** * 定时任务 每隔一秒发送 */
  8. @Scheduled(cron = "00/1 * * * * ?")
  9. public void send(){
  10. String string = UUID.randomUUID().toString();
  11. System.out.println(string);
  12. //发送消息
  13. ListenableFuture future = kafkaTemplate.send("mytest1", string);
  14. future.addCallback(o -> System.out.println("成功"+string),throwable -> System.out.println("失败"+throwable));
  15. }
  16. }

在这里插入图片描述

发表评论

表情:
评论列表 (有 0 条评论,309人围观)

还没有评论,来说两句吧...

相关阅读

    相关 SpringBoot整合kafka

    > 经过前三篇文章 安装jdk 安装zookeeper 以及安装kafka 全部已经竣工了,不知道小伙伴们成功搭建kafka了不。 > 憋了三天的大招,今天放出来吧。今天大家