kafka之路-01从零搭建环境到SpringBoot集成

kafka之路-01从零搭建环境到SpringBoot集成

原创 今夜写代码 今夜写代码 2024年07月21日 21:58 浙江

一、kafka 架构简单介绍

  1. 生产者将消息发送到Broker 节点,消费者从Broker 订阅消息

2)消息订阅通常有服务端Push 和 消费端Pull两种方式,Kafka采用的是Pull 方式

Kafka 相关配置比较多,本节主要内容环境搭建,以及用Spring Boot 集成kafka,实现消息发送与订阅。一些其他概念比如Partition,消费位移等等,后面文章会继续。

二、环境搭建

2.1 jdk 安装

kafka依赖jdk 环境,从2.0.0版本开始,kafka已经不支持jdk7及以下版本,本文使用的版本是JDK 8 。具体可查看官网kafka指定版本对JDK版本限制。

安装之后配置jdk环境变量

复制代码
export JAVA_HOME="/opt/java/jdk1.8.0_281"export PATH=$JAVA_HOME/bin:$PATH

2.2 zookeeper 安装

zookeeper 主要用来管理集群、broken、topic、partition等元数据信息管理,官网下载压缩包,

还需要配置zookeeper 配置文件(conf/zoo.cfg),可以基于zoo_sample.cfg修改,直接复制一份然后根据实际情况修改相关配置

bash 复制代码
cp  zoo_sample.cfg zoo.cfg

配置环境变量

复制代码
export ZK_HOME=/opt/zookeeper/apache-zookeeper-3.8.4-binPATH=$PATH:$ZK_HOME/bin

创建相关目录

zookeeper配置文件默认 dataDir=/tmp/zookeeper,需要创建/tmp/zookeeper/log 和 /tmp/zookeeper/data 目录,并且目前全限最好设置777 否则启动报错

启动

复制代码
zkServer.sh start

三、kafka 安装

官网下载tgz文件,直接解压,解压后目录

配置修改

配置文件server.properties ,根据实际情况修改数据目录、zookeeper等信息,如​​​​​​​

复制代码
log.dirs=/tmp/kafka-logszookeeper.connect=localhost:2181/kafka

启动

复制代码
kafka-server-start.sh -daemon  server.properties 

启动成功后,一个单机模式kafka环境搭建好了,kafka提供了许多"脚本工具",甚至包含发送消息,消费消息。当然对于专注于后端开发者而言,代码操作,比Shell方便。

Spring Boot 集成

引入依赖

​​​​​​​

复制代码
  <dependency>      <groupId>org.springframework.kafka</groupId>      <artifactId>spring-kafka</artifactId>  </dependency>

添加配置

​​​​​​​​​​​​​​

复制代码
spring.kafka.bootstrap-servers=IP:9092spring.kafka.consumer.group-id=community-consumer-groupspring.kafka.consumer.enable-auto-commit=truespring.kafka.consumer.auto-commit-interval=3000

发现消息可以使用 KafkaTemplate,调用其send 方法

消费消息@KafkaListener

发送两条消息试试看

消息被正确消费,大功告成。

相关推荐
坐吃山猪42 分钟前
Kafka13-自定义分区器
kafka
starzy19901 小时前
Kafka请求进门口:Processor是怎么把请求读上来的
分布式·kafka
starzy19901 天前
Kafka网络层第一道门:Acceptor线程是怎么启动的
大数据·kafka
huaweichenai1 天前
spring boot对接kafka实现消息队列处理
spring boot·后端·kafka
你看我名字1 天前
Kafka 架构、消息可靠性与生产运维:从分区模型到故障治理
运维·架构·kafka
starzy19901 天前
Kafka源码深度剖析:消息有异常是如何处理的
大数据·kafka
starzy19902 天前
Kafka写数据入口:消息进了Broker之后交给谁
大数据·kafka
螺蛳粉 螺蛳粉2 天前
CDH第七篇:CDH 集成 Kafka 实战:CSD + Parcel 组合拳,先装 ZooKeeper 是铁律
物联网·zookeeper·kafka·消息队列·parcel·cdh集成·csd
Flynn Liang3 天前
物联网时序数据乱序问题全链路治理:从设备到存储的五层实战(附 Flink/Kafka/IoTDB 配置级代码)
flink·kafka·iot·iotdb·emqx·乱序·时序数据
starzy19904 天前
Kafka响应发送:字节是怎么真正写回客户端的
大数据·kafka