Kafka

1.什么是Kafka?

kafka是一个多分区,多副本且基于zookeeper进行关联的分布式消息系统,它高可用,持久化,可水平扩展的支持流数据处理。

2.Kafka的框架描述?

1.生产者:生产数据

2.消费者:消费数据

3.zoopkeer:管理borker

4.borker:服务节点

5.topic:主题存储数据

6.partition:在主题之下的分区

3.Kafka如何做到高通吐量?

1.采用page于存储

主要是通过将数据缓存到操作系统中的page cache中,接下来就是操作系统自己决定什么时候,将数据刷入到磁盘中,这步骤可以提升kafka的性能。

2.顺序存储到磁盘中,在将数据刷新到磁盘文件中的时候,不会讲数据随机存储,而是会按照顺序刷入的,这样在查询的时候就可直接知道。

4.Kafka和zoopkeer之间的关系?

kafka通过zookeeper进行将节点中信息存储起来和数据偏移量,zookeeper进行关联borker,会将borker进行上线,下线,删除等。

5.Kafka的存储机制?

是一个topic下,有个多个partition,一个partition又分成多个segment,在segment包含log,index,timeindex。

6.Kafka有哪些分区算法?

1.轮询算法:轮询是负载均衡的表现,它总是保证最大限度的被平均分配到机器上,古默认情况它是最合理的算法。

2.随机算法:就是任意的将消息放到分区下

3.按key的算法:消息定义key之后,就会将同一类的可以放到相同的分区下。

7.kafka的默认消息保留策略?

1.按时间存储 log.segment.bytes配置

2.按照日志大小存储 log.segment.ms 配置

8.讲一讲Kafka的ack的三种机制?

分为ack=0,主要生产者将发送到服务器上之后,生产者就认为发过去结束,ack=1的时候,生产者将数据发送到服务器上,服务器回复接收到,则结束,ack=-1,生成者将数据发送到服务器上,服务器节点回复,并且它的副本也回复接收成功,则结束。

9.kafka于传统消息系统的区别?

1.kafak可以持久化日志,日志可以无限读取和无期限保留

2.kafka支持流式存储。

10.消息发送的方式Kafka?

重要分为 发完即完,同步,异步。

11.Kafka维护消息状态的跟踪方法?

kafka的topic被分成若干个分区,每个分区同一时间只背一个consumer消费,然后再通过offset进行消息配置标记,通过配置偏移量来跟踪消费 状态。

12.zookeeper对于Kafka的作用是什么?

1.在集群中zookeeper用于不同节点直接的通信。

2.在提交过程中可以对于数据消费之后进行偏移量的修改。

3.可以进行leader的检查,分布式同步,配置管理。

13.Kafka判断一个节点还活着有什么条件?

1.通过zookeeper对节点进行心跳检测机制判断该节点是否存活。

2.通过节点follower直接同步信息判断。

14.Kafka的高可用机制?

1.采用集群模式:一个kafak集群中有多个服务,当一个服务宕机,zookeeper的方式监听服务器进行使用。

2.分区备份:在一个topic有多个分区,每个分区有多个副本,一个leader,和其他的follawer ,副本存储在不同服务商,所有的副本都是相同的,当leader发送故障时,自动将其提升为leader.

15.Kafka如何保证消费的顺序性?

在一个主题下只建立一个分区,让数据在这个分区上进行消费。

16.Kafka如何保证消息不丢失?

1.发送的时候保证生产者数据不丢失,通过重试机制。

2.在服务端可以通过ack机制,保证数据持久化存储到磁盘中。

3.在消费者端通过手动提交偏移量,保证数据已经被消费。

18.Kafka是如何实现负载均衡的?

1.采用的轮询机制。

19.怎么保证顺序消费?

在topic中只设置一个分区,相同key 发送到同一个分区。

20.线上消失积压怎么解决?

1.消息数据的格式变动,导致一直消费失败,这样造成消息积压,可以将其转移到死信队列。

2.生产者发送消息过快,消费者消费吗慢 ;可以将消费端的消息发送到其他的主题下,然后通过多个消费者去消费(紧急的情况下)。

21.kafka为什么这么?快

1.顺序读写。

2.page cache缓存。

3.分区分段索引。

相关推荐
m0_646429971 小时前
RabbitMQ 核心知识总结(生产实战版)
分布式·rabbitmq
DBA_G3 小时前
GBase 8c分布式数据库客户端工具 gsql
数据库·分布式
chunyublog3 小时前
Spark 词频统计练习
大数据·分布式·spark
ClouGence4 小时前
开源数据库管理工具 CloudDM 4.4.0 发布,新增 Kafka、SAP HANA 数据源
数据库·kafka
acrel75 小时前
高速公路分布式光伏并网电能质量与安全保护方案应用
分布式·安全
RobinXYuan5 小时前
【Kafka 源码手记】01 从消息队列到 Event Streaming
kafka·源码阅读
IT小小猪6 小时前
# Hadoop 3.3.6 完全分布式集群部署知识库
hadoop·分布式·eclipse
此时不提桶,更待何时7 小时前
06-24-B-RabbitMQ面试与生产事故实战
分布式·面试·rabbitmq
来福猿7 小时前
分布式锁 Redis 实现源码分析:SETNX、过期时间与可重入设计
数据库·redis·分布式
Pniubi1 天前
分布式锁分类讲解
分布式