初识kafka

1kafka架构

在这里插入图片描述

生产者
消费者
broker :中间包含一个或者多个 topic

一个topic中有一个或者多个partition这个可以设置

每一条消息只能来自一个topic

生产数据和消费数据的时候必须要指定 是哪一个topic

*partition 讲解

如果不备份的情况下 只分布在一个broker上
一个partition中包含了多个segment,一个segment对应一个文件, 数据会append到一个segment,单条数据不能删除和修改,当保存时间到期之后 会直接对segment进行删除

kafka的最小单位是partition offset保存在segment的index中

*partition可以设置成和broker一致

通过Partition实现了并行处理和水平扩展
Partition是Kafka(包括Kafka Stream)并行处理的最小单位
不同Partition可处于不同的Broker(节点),充分利用多机资源
同一Broker(节点)上的不同Partition可置于不同的Directory,如果节点上有多个Disk Drive,可将不同的Drive对应不同的Directory,从而使Kafka充分利用多Disk Drive的磁盘优势

2 kafka的副本数 replica

当某个topic的replication-factor为N且N大于1时,每个partion都会有N个副本(replica)
replica的个数小于等于broker数:对每个partition而言每个broker上只会有一个replica,因此broker ID表示replica
所有partition的所有replica默认情况会均匀分布到所有broker上

kafka为什么性能高
(1)高效实用磁盘
(2)零拷贝(减少了i/o)
(3)数据的批处理和压缩
Producer和Consumer均支持批量处理数据,从而减少了网络传输的开销 (少次多量)
Producer可将数据压缩后发送给broker,从而减少网络传输代价。目前支持Snappy, Gzip和LZ4压缩
(4)设置 partition的个数和broker保持一致
(5)ISR(In-Sync Replicas)
对每个消息都做f+1的备份:以单个消息为进行备份的基本单位,进行可靠性保障
   ISR最核心的思想:以一段时间而非以一个消息为基本单位,进行可靠性保障

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值