springboot+Kafka(生产者和消费者)
时间:2020-07-12
本文章向大家介绍springboot+Kafka(生产者和消费者),主要包括springboot+Kafka(生产者和消费者)使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
1、配置信息
spring.application.name=kafka-producer
server.port=8091
spring.kafka.producer.bootstrapServers=192.168.229.13:9092,192.168.229.13:9093,192.168.229.13:9094
#安全认证
#spring.kafka.producer.ssl=
# procedure要求leader在考虑完成请求之前收到的确认数,用于控制发送记录在服务端的持久化,其值可以为如下:
# acks = 0 如果设置为零,则生产者将不会等待来自服务器的任何确认,该记录将立即添加到套接字缓冲区并视为已发送。在这种情况下,无法保证服务器已收到记录,并且重试配置将不会生效(因为客户端通常不会知道任何故障),为每条记录返回的偏移量始终设置为-1。
# acks = 1 这意味着leader会将记录写入其本地日志,但无需等待所有副本服务器的完全确认即可做出回应,在这种情况下,如果leader在确认记录后立即失败,但在将数据复制到所有的副本服务器之前,则记录将会丢失。
# acks = all 这意味着leader将等待完整的同步副本集以确认记录,这保证了只要至少一个同步副本服务器仍然存活,记录就不会丢失,这是最强有力的保证,这相当于acks = -1的设置。
spring.kafka.producer.acks=all
# 每当多个记录被发送到同一分区时,生产者将尝试将记录一起批量处理为更少的请求,
# 这有助于提升客户端和服务端之间的性能,此配置控制默认批量大小(以字节为单位),默认值为16384
spring.kafka.producer.batchSize=
#缓存数据内存大小
spring.kafka.producer.bufferMemory=
#server记录日志
spring.kafka.producer.clientId=kafka-producer
#producer用于压缩数据的压缩类型。默认是无压缩。正确的选项值是none、gzip、snappy。压缩最好用于批量处理,批量处理消息越多,压缩性能越好
spring.kafka.producer.compressionType=gzip
#key反序列化类,实现org.apache.kafka.common.serialization.Deserializer接口
spring.kafka.producer.keyDeserializer=org.apache.kafka.common.serialization.StringDeserializer
#value反序列化类,实现org.apache.kafka.common.serialization.Deserializer接口
spring.kafka.producer.valueDeserializer=org.apache.kafka.common.serialization.StringDeserializer
#客户端发送重试
spring.kafka.producer.retries=0
#生产者事务
spring.kafka.producer.transactionIdPrefix=
#其他配置
#spring.kafka.producer.properties=
spring.application.name=kafka-consumer
server.port=8092
spring.kafka.consumer.bootstrapServers=192.168.229.13:9092,192.168.229.13:9093,192.168.229.13:9094
#spring.kafka.consumer.clientId="kafka-consumer"
spring.kafka.consumer.group-id=myGroup
#自动提交
spring.kafka.consumer.enableAutoCommit=true
#自动向zookeeper提交offset的频率,默认:5000
spring.kafka.consumer.autoCommitInterval=10
#0:READ_UNCOMMITTED, 1:READ_COMMITTED;
spring.kafka.consumer.isolationLevel=READ_COMMITTED
# 没有初始化的offset时,可以设置以下三种情况:(默认:latest)
# earliest
# 当各分区下有已提交的offset时,从提交的offset开始消费;无提交的offset时,从头开始消费
# latest
# 当各分区下有已提交的offset时,从提交的offset开始消费;无提交的offset时,消费新产生的该分区下的数据
# none
# topic各分区都存在已提交的offset时,从offset后开始消费;只要有一个分区不存在已提交的offset,则抛出异常
spring.kafka.consumer.autoOffsetReset=latest
#安全认证
#spring.kafka.consumer.ssl=
#Fetch请求发给broker后,在broker中可能会被阻塞的(当topic中records的总size小于fetch.min.bytes时),此时这个fetch请求耗时就会比较长。
#这个配置就是来配置consumer最多等待response多久。
spring.kafka.consumer.fetchMaxWait=100
#每次fetch请求时,server应该返回的最小字节数。如果没有足够的数据返回,请求会等待,直到足够的数据才会返回。默认:1
spring.kafka.consumer.fetchMinSize=10
#消费超时时间,大小不能超过session.timeout.ms,默认:3000
spring.kafka.consumer.heartbeatInterval=100
#key反序列化类,实现org.apache.kafka.common.serialization.Deserializer接口
spring.kafka.consumer.keyDeserializer=org.apache.kafka.common.serialization.StringDeserializer
#value反序列化类,实现org.apache.kafka.common.serialization.Deserializer接口
spring.kafka.consumer.valueDeserializer=org.apache.kafka.common.serialization.StringDeserializer
#max.poll.records条数据需要在session.timeout.ms这个时间内处理完,默认:500
spring.kafka.consumer.maxPollRecords=500
Git地址:https://github.com/wangymd/myKafka.git
原文地址:https://www.cnblogs.com/wangymd/p/13287292.html
- java教程
- Java快速入门
- Java 开发环境配置
- Java基本语法
- Java 对象和类
- Java 基本数据类型
- Java 变量类型
- Java 修饰符
- Java 运算符
- Java 循环结构
- Java 分支结构
- Java Number类
- Java Character类
- Java String类
- Java StringBuffer和StringBuilder类
- Java 数组
- Java 日期时间
- Java 正则表达式
- Java 方法
- Java 流(Stream)、文件(File)和IO
- Java 异常处理
- Java 继承
- Java 重写(Override)与重载(Overload)
- Java 多态
- Java 抽象类
- Java 封装
- Java 接口
- Java 包(package)
- Java 数据结构
- Java 集合框架
- Java 泛型
- Java 序列化
- Java 网络编程
- Java 发送邮件
- Java 多线程编程
- Java Applet基础
- Java 文档注释
- 蜜罐溯源
- BlackHat2020议题之Web缓存投毒
- python自学第二节课(笔记)
- 究竟!为什么处理排序后的数组比没有排序的快?想过没有?
- 2020 年最牛逼的 10 门编程语言
- Nginx系列:Nginx源码安装
- Nginx系列:负载均衡
- low版爬虫脚本,Python简单图片爬虫案例
- 漫画:什么是计数排序?
- SEO工具脚本,Python百度普通收录API提交工具
- Elastic Stack 实现日志的自动采集、搜索和分析
- 致开发人员:沉迷面向对象编程不可自拔?函数式编程了解一下
- MySQL空间函数实现位置打卡
- 单细胞交响乐8-marker基因检测
- 用TensorFlow.js在浏览器中进行实时语义分割 | MixLab算法系列