程序员最近都爱上了这个网站  程序员们快来瞅瞅吧!  it98k网:it98k.com

本站消息

站长简介/公众号

  出租广告位,需要合作请联系站长


+关注
已关注

分类  

暂无分类

标签  

暂无标签

日期归档  

Springboot整合Kafka

发布于2021-06-12 14:30     阅读(116)     评论(0)     点赞(19)     收藏(4)


Springboot整合Kafka

介绍kafka

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

特性:

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

整合:

1.导入依赖

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

2.配置

spring:
  kafka:
    producer:
      bootstrap-servers: ip:9092
    consumer:
      group-id: springboot-group1,springboot-group2
      auto-offset-reset: earliest

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

@Component
@EnableScheduling
public class KafkaSender {
    //模板
    @Autowired
    private KafkaTemplate kafkaTemplate;

    /**
     * 定时任务 每隔一秒发送
     */
    @Scheduled(cron = "00/1 * * * * ?")
    public void send(){
        String string = UUID.randomUUID().toString();
        System.out.println(string);
        //发送消息
        ListenableFuture future = kafkaTemplate.send("mytest1", string);
        future.addCallback(o -> System.out.println("成功"+string),throwable -> System.out.println("失败"+throwable));
    }
}

在这里插入图片描述



所属网站分类: 技术文章 > 博客

作者:狗蛋来了

链接:http://www.javaheidong.com/blog/article/222146/d843f85311e8d36d81c5/

来源:java黑洞网

任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任

19 0
收藏该文
已收藏

评论内容:(最多支持255个字符)