Kafka概述及安装 | 带你读《SpringBoot实战教程》之三十七-阿里云开发者社区

开发者社区> 开发者学习资源库> 正文

Kafka概述及安装 | 带你读《SpringBoot实战教程》之三十七

简介: Apache Kafka是一个分布式发布 - 订阅消息系统和一个强大的队列,可以处理大量的数据,并使您能够将消息从一个端点传递到另一个端点。 Kafka适合离线和在线消息消费。 Kafka消息保留在磁盘上,并在群集内复制以防止数据丢失。 Kafka构建在ZooKeeper同步服务之上。 它与Apache Storm和Spark非常好地集成,用于实时流式数据分析。

上一篇:SpringBoot怎样整合RabbitMQ? | 带你读《SpringBoot实战教程》之三十六
下一篇:SpringBoot如何实现Solr? | 带你读《SpringBoot实战教程》之三十八

本文来自于千锋教育在阿里云开发者社区学习中心上线课程《SpringBoot实战教程》,主讲人杨红艳,点击查看视频内容

Kafka概述及安装

Apache Kafka是一个分布式发布 - 订阅消息系统和一个强大的队列,可以处理大量的数据,并使您能够将消息从一个端点传递到另一个端点。 Kafka适合离线和在线消息消费。 Kafka消息保留在磁盘上,并在群集内复制以防止数据丢失。 Kafka构建在ZooKeeper同步服务之上。 它与Apache Storm和Spark非常好地集成,用于实时流式数据分析。

以下是Kafka的几个好处:

  • 可靠性 - Kafka是分布式,分区,复制和容错的。
  • 可扩展性 - Kafka消息传递系统轻松缩放,无需停机。
  • 耐用性 - Kafka使用分布式提交日志,这意味着消息会尽可能快地保留在磁盘上,因此它是持久的。
  • 性能 - Kafka对于发布和订阅消息都具有高吞吐量。 即使存储了许多TB的消息,它也保持稳定的性能。Kafka非常快,并保证零停机和零数据丢失。

安装:
Linux系统下安装
首先在官网下载kafka以及zookeeper的安装包
image.png
二者直接进行解压缩:
运行kafka必须先运行zookeeper。
image.png
进入到zookeeper的bin目录下
image.png
运行zkServer.sh,注意需要提前把JDK配置好
命令为./ zkServer.sh start
然后运行./ zkServer.sh status 查看启动状态
image.png
显示standalone表示启动成功了。

然后进入kafka的bin目录下
image.png
然后启动kafka,注意启动时需引用配置文件 命令为 ./ kafka-server-start.sh ../../config/ sever.properties
image.png
出现如下情况,证明启动成功了。
image.png

SpringBoot整合Kafka

添加依赖:

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

全局配置application.yml:

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

新建包:com.qianfeng.kafka

@Component
@EnableScheduling
public class KafkaProducer {

    @Autowired
    private KafkaTemplate kafkaTemplate;

    @Scheduled(cron = "00/1 * * * * ?")
    public void send() {

        String msg=UUID.randomUUID().toString();
        //发送消息
        ListenableFuture future = kafkaTemplate.send("tests", msg);

        future.addCallback(o -> System.out.println("send-消息发送成功:" + msg), throwable -> System.out.println("消息发送失败:" + msg));
    }
}

执行结果:
image.png

配套视频

版权声明:本文中所有内容均属于阿里云开发者社区所有,任何媒体、网站或个人未经阿里云开发者社区协议授权不得转载、链接、转贴或以其他方式复制发布/发表。申请授权请邮件developerteam@list.alibaba-inc.com,已获得阿里云开发者社区协议授权的媒体、网站,在转载使用时必须注明"稿件来源:阿里云开发者社区,原文作者姓名",违者本社区将依法追究责任。 如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件至:developer2020@service.aliyun.com 进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:

开发者免费资源中心,技术电子书、会议PPT、论文资料持续供应中

官方博客
官网链接