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.分区分段索引。

相关推荐
无心水2 小时前
【分布式利器:腾讯TSF】10、TSF故障排查与架构评审实战:Java架构师从救火到防火的生产哲学
java·人工智能·分布式·架构·限流·分布式利器·腾讯tsf
小北方城市网13 小时前
分布式锁实战指南:从选型到落地,避开 90% 的坑
java·数据库·redis·分布式·python·缓存
范桂飓15 小时前
大模型分布式训练框架 Megatron-LM
人工智能·分布式
oMcLin19 小时前
如何在Debian 11上通过配置MySQL 8.0的分布式架构,提升跨区域数据同步的效率与延迟?
分布式·mysql·debian
一条咸鱼_SaltyFish19 小时前
[Day15] 若依框架二次开发改造记录:定制化之旅 contract-security-ruoyi
java·大数据·经验分享·分布式·微服务·架构·ai编程
IT 行者21 小时前
Spring Security 7 OAuth2 授权码分布式存储之Redis存储方案
redis·分布式·spring
潇凝子潇21 小时前
kafka之监控告警
分布式·kafka
Light601 天前
从“报告”到“能力”——构建智能化、可审计的数据治理闭环——领码 SPARK 数据质量平台白皮书
大数据·分布式·spark
maozexijr1 天前
RabbitMQ Exchange Headers类型存在的意义?
分布式·rabbitmq
还在忙碌的吴小二1 天前
XXL-SSO 分布式单点登录框架
分布式