准备工作:
1.安装kafka+zookeeper环境
2.利用命令创建好topic
参考官网 http://kafka.apache.org/documentation/
一XML配置文件方式实现
🌟1. Pom文件,引入spring-kafka jar包这里需要注意2个地方
1) kafka-clients 包版本与服务器端kafka-clients版本保持一致(查看服务器kafka版本方法 在kafka安装目录下libs 中查找kafka-clients开头的jar文件)
2)引入的spring-kafka 版本在2.0或者2.X 时Spring版本在5.0才能支持
...
org.apache.kafka
kafka-clients
1.0.1
org.springframework.kafka
spring-kafka
1.3.5.RELEASE
org.apache.kafka
kafka-clients
...
2. 配置文件结构如下图
3. kafka.properties文件内容如下
1 # brokers集群2 kafka.producer.bootstrap.servers = ip1:9092,ip2:9092,ip3:90923
4 kafka.producer.acks = all5
6 #发送失败重试次数7 kafka.producer.retries = 38
9 kafka.producer.linger.ms = 1010
11 # 33554432 即32MB的批处理缓冲区12 kafka.producer.buffer.memory = 4096013
14 #批处理条数:当多个记录被发送到同一个分区时,生产者会尝试将记录合并到更少的请求中。这有助于客户端和服务器的性能15 kafka.producer.batch.size = 409616
17 kafka.producer.defaultTopic = nwbs-eval-task18
19 kafka.producer.key.serializer = org.apache.kafka.common.serialization.StringSerializer20
21 kafka.producer.value.serializer = org.apache.kafka.common.serialization.StringSerializer22
23
24 ################# kafka consumer ################## ,25 kafka.consumer.bootstrap.servers = ip1:9092,ip2,ip3:909226
27 # 如果为true,消费者的偏移量将在后台定期提交28 kafka.consumer.enable.auto.commit = true29
30 #如何设置为自动提交(enable.auto.commit=true),这里设置自动提交周期31 kafka.consumer.auto.commit.interval.ms=100032
33 #order-beta 消费者群组ID,发布-订阅模式,即如果一个生产者,多个消费者都要消费,那么需要定义自己的群组,同一群组内的消费者只有一个能消费到消息34 kafka.consumer.group.id = sccl-nwbs35
36 #在使用Kafka的组管理时,用于检测消费者故障的超时37 kafka.consumer.session.timeout.ms = 3000038
39 kafka.consumer.key.deserializer = org.apache.kafka.common.serialization.StringDeserializer40 kafka.consumer.value.deseri