kafka相关的几个问题


一、kafka可以脱离zookeeper单独使用么?

不可以,因为kafka需要用到zookeeper来管理和协调kafka的节点服务器。

二、kafka 有几种数据保留的策略?

主要有两种数据保留策略:
1、按照过期时间保留
2、按照存储的消息大小保留

三、kafka 同时设置了 7 天和 10G 清除数据,到第五天的时候消息达到了 10G,这个时候 kafka 将如何处理?

7天和10G任何一个条件满足了,kafka就会清除数据,所以当第五天消息达到了10G的时候kafka会清除数据。

四、什么情况会导致 kafka 运行变慢?

主要有三种情况:
1、cpu的性能瓶颈
2、磁盘的读写速度
3、网络瓶颈

五、使用 kafka 集群需要注意什么?

1、kafka集群中的节点不要太多,最好不要超过7个,应为如果节点过多的话消息复制所用的时间也会大大增加,从而降低了集群的吞吐量。
2、kafka集群的数量最好是单数,因为超过半数的节点崩溃的话整个集群就不能用了,单数节点能够提高容错率。

六、kafka的consumer重要参数举例?

1、group.id
该参数指定的是consumer group的名字,它能够唯一标识一个consumer group。通常设置一个有业务意义的名字就可以了。
2、value.deserializer
与value.deserializer类似,该参数用来对消息体(即消息value)进行解序列化,从而把消息“还原”会原来的对象类型。
3、session.timeout.ms
是consumer group检测组内成员发送崩溃的时间。
4、max.poll.interval.ms
这个参数就是用来设置消息处理逻辑的最大时间的。
5、enable.auto.commit
该参数指定consumer是否自动提交位移。
6、auto.offset.reset
指定了无位移信息或位移越界(即consumer要消费的消息的位移不在当前消息日志的合理区间范围)时Kafka的应对策略。

七、kafka 高性能的原因,它的数据结构是怎么样的?

高性能原因:
1、Broker NIO 异步消息处理,实现了 IO 线程与业务线程分离
2、磁盘顺序写
3、零拷贝
数据结构:
Kafka中的Message是以topic为基本单位组织的,不同的topic之间是相互独立的。每个topic又可以分成几个不同的partition(每个topic有几个partition是在创建topic时指定的),每个partition存储一部分Message,而partition是以文件的形式存储在文件系统中。

猜你喜欢

转载自blog.csdn.net/qq_42697271/article/details/113934705
今日推荐