深入理解kafka(一)
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了深入理解kafka(一)相关的知识,希望对你有一定的参考价值。
参考技术A 1.初始kafka1.1基本概念
消费者使用拉(pull)模式从服务端拉取消息,并且保存消费的具体位置
分区、副本、生产者、消费者、消费者组
AR(Assigned Replicas)、ISR(In-Sync-Replicas)、OSR(Out-Sync Replicas)
HW(High Watermark) 消息只能拉取到这个offset之前
LEO(Log End Offset) 标识当前日志文件中下一条待写入消息的offset
消息提交:follower同步拉取和异步拉取 同步拉取影响性能 异步拉取数据不可靠 ISR权衡
1.3生产与消费
创建topic
bin/kafka-topics.sh --zookeeper localhost:2181/kafka --create topic-name --replication-factor 2 --partition 3
展示主题信息
bin/kafka-topics.sh --zookeeper localhost:2181/kafka --describe --topic topic-name
消费者
bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic topic-name
生产者
bin/kafka-console-producer.sh --broker-list localhost:9092 --topic topic-name
maven依赖
<dependency>
<groupId>org.apache.kafka</groupId>
<groupId>kafka-clients</groupId>
<groupId>2.5.1</groupId>
</dependency>
1.4服务端参数配置
server.properties中配置如下:
1.zookeeper.connect
没有默认值,且为必填项,如果kafka使用的不是zk的根路径,要在最后配置,如host1:2181,host2:2181,host3:2181/kafka
2.listeners
默认为null,如果为空绑定127.0.0.1,,不能对外提供服务。advertised.listeners参数绑定公网IP,listeners绑定私网IP
3.broker.id
默认为-1,如果没有设置,kafka会自动生成一个
4.log.dir和log.dirs
log.dirs优先级高,多个目录以逗号分隔
5.message.max.bytes
默认1000012(B),如果消息过大,修改这个参数还要考虑(客户端参数)max.request.size 和 (topic端参数)max.message.bytes
以上是关于深入理解kafka(一)的主要内容,如果未能解决你的问题,请参考以下文章