kafka

在这里插入图片描述
每个应用是一个broker
每个broker中可以注册多个topic
每个topic中又可以有多个分区 topic-1、topic-2、topic-3、topic-4
每个分区又可以有多个副本,但不能超过broker的个数
这些副本中只有一个是lead,其余是follow

在这里插入图片描述
生产者可以指定topic去生产,消费者也可以指定topic去消费。假如一个topic下有多个partition,它的写是根据负载情况去写入的;消费者也不能去顺序消费。
每一个分区(partition)中消息都是有序的,而kafka也只能保证区内有序,不能保证每一个topic下有序,topic只是一个逻辑上的概念。

在这里插入图片描述
生产者发送消息,可能由于网络原因造成数据丢失,所以要kafka回复一个ack,这个ack可以设置半数同步后返回,也可以全部同步后在ack。

半数方案和全部方案
在这里插入图片描述
如果有一个副本延迟高,那么就会影像到整个集群。
在这里插入图片描述
acks参数配置
0:producer不等待ack 数据丢失
1:lead落盘后ack 数据丢失
-1:等待isr数据都同步后再ack 数据丢失、数据重复
ack可以保证数据不丢失(保证数据的可靠性),消息幂等性,由消费者自己控制。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
HW和LEO保证数据一致性

消费者有一个消费者组,每个消费者组中有多个消费者,每个消费者组可以订阅一个或多个topic

生产者可以指定topic的partition去生产,消费者也可以指定topic的partition去消费(假如topic和group中只有一个的时候)

每个消费者消费的分区(partition)是不变的,这能消费分配给你的分区中的数据。只有当消费者增加或者减少的时候才会触发重新分配分区;当消费者比分区还多的时候,有的消费者是不消费数据的,可能你增加了消费者,但真正消费数据的消费者还是原来的那几个,它也是进行了重新分配,只不过命中的还是这几个。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值