![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
kafka
文章平均质量分 70
FightingITPanda
don't talk,show me the code
展开
-
kafka 入门到起飞 - 举个栗子一步一步说HW、LEO如何写入
举个简单栗子,如上图。原创 2023-08-17 20:46:13 · 225 阅读 · 0 评论 -
Kafka 入门到起飞 - 什么是 HW 和 LEO?何时更新HW和LEO呢?
高水位可以理解为一个`横切面`,存储的也是`Offset`(位移)值,木水桶原理原创 2023-08-16 22:46:05 · 1908 阅读 · 1 评论 -
Kafka 入门到起飞 - Kafka是怎么保证消息可靠性的呢
在这里插入图片描述我们已经了解到,复习一下创建topic时,可以指定副本因子轮询Leader 副本只有一个,负责读写,其他节点都是Follower副本,Producer 只把消息发送到Leader分区,Follower副本负责从Leader同步数据ISR 同步副本列表 (包含Leader)当前时间为了保证可靠性,可以设置确认机制ack= all。原创 2023-08-15 22:15:54 · 399 阅读 · 0 评论 -
Kafka 入门到起飞系列 - 怎么从ISR中选出的Leader呢? Leader选举机制
上文我们讲了分区分成Leader 和 Follower两种角色,当Leader宕机后,会从ISR同步副本中选出一个分区作为leader分区继续工作,那么leader是怎么选出来的呢?原创 2023-07-27 18:59:04 · 264 阅读 · 2 评论 -
Kafka入门到起飞系列 - 副本机制,什么是副本因子呢?
我们一直在讲一个主题会有多个分区,这多个分区可以分布在一台服务器上,也可以分布在多台服务器上,还可以增加分区(Kafka目前只支持分区),这是Kafka提供的一种横向扩展的手段比如我们创建了一个主题,给主题分配50个分区(这个数不大,_consumer_offset主题默认就50个分区),每个分区放在不同的broker上,那么我们要保证这50台服务器都不能宕机,一旦服务器宕机,分区数据就丢失了,保障服务不宕机这是很难的,所以Kafka给我们提供了副本机制。原创 2023-07-27 18:23:29 · 1236 阅读 · 0 评论 -
Kafka 入门到起飞系列 - 到底什么是再平衡?谁来执行再平衡呢?什么是组协调器呢?
每个消费组分配一个组协调器,用于组管理和位移管理消费组的第一个消费者启动后,会和Kafka broker确认,谁是组协调器(是一个broker)之后启动的所有消费者需要和该组协调器保持通信,发送心跳由组协调器来检测消费者的增加和减少,确认何时出发再平衡。原创 2023-07-27 15:42:11 · 230 阅读 · 0 评论 -
Kafka 入门到起飞系列 - 消费者组管理、位移管理
消费者组是Kafka 提供的可扩展且具有容错性的消费者机制。原创 2023-07-27 14:49:49 · 726 阅读 · 0 评论 -
Kafka 入门到起飞系列
Kafka 入门到起飞系列[Kakfa 为什么牛? 为什么这么火?有什么优势呢?](https://blog.csdn.net/FightingITPanda/article/details/131941293)[工欲善其事,必先利其器 - 核心概念(术语解释)](https://blog.csdn.net/FightingITPanda/article/details/131710912)Kakfa 为什么牛? 为什么这么火?有什么优势呢?工欲善其事,必先利其器 - 核心概念(术语解释)原创 2023-07-26 20:07:17 · 1123 阅读 · 0 评论 -
Kakfa 入门到起飞 - 什么是再平衡?什么时候会触发再平衡呢?Kafka为什么遭大家诟病了呢?
那么为什么大家会诟病再平衡这个事呢,因为在再平衡过程中,消费者组下的所有消费者需要暂停,无法从Kafka消费消息,这样Kafka的消费能力突然就下来了,如果Kafka集群比较大,几百个节点,那么再平衡会消耗非常多的时间,几分钟到几小时都有可能,这个时间内Kafka基本处于不可用状态。消费主题数变更的情况就是,当消费者组订阅主题通过正则或者通配符的方式,比如topic.*这样,当新增一个主题topic.A,那么相当于这个新增主题下的消息自动被当前消费者组订阅了,需要将分区进行分配,那么就会触发一次再平衡。原创 2023-07-26 19:50:43 · 336 阅读 · 0 评论 -
Kafka 入门到起飞 - Kafka怎么做到保障消息不会重复消费的? 消费者组是什么?
如果上面结构还不够,两个消费者消费速度依然跟不上,那么我们还可以继续添加消费者,添加到4个消费者,此时主题分区与消费者的关系再次发生变化,需要再平衡,此时一个消费者消费一个分区消息,达到并行消费的效果。如上图,当前只有一个消费者组订阅这个Topic,消费者组里只有一个消费者,那么当前Topic中所有分区的消息都由这个消费者消费。消费者也不是越多越好,消费者数受限于分区数, 过多消费者会导致有的消费者没有分配分区导致空闲,如下图。如上图,消费者组扩展一个消费者后,消费者1、2分别消费两个分区的消息。原创 2023-07-26 17:52:14 · 2351 阅读 · 0 评论 -
Kafka 入门到起飞 - 生产者参数详解 ,什么是生产者确认机制? 什么是ISR? 什么是 OSR?
我们在生产者发送消息时可以指定acks参数值,来决定收到消息发送后什么样的确认即可继续发送后面的消息acks : 生产者发送消息确认机制acks = 0: 生产者不等broker确认,不断发送消息,发送消息快,允许丢消息,只要将消息放到了socket的缓冲区,就认为消息已发送成功acks = 1:默认值,允许少量消息丢失,broker上leader分区写入消息即返回生产者消息确认,不等待follower副本分区的确认,这种情况下,存在消息丢失的风险acks = all。原创 2023-07-26 17:03:31 · 783 阅读 · 0 评论 -
Kafka 入门到起飞系列 - Kafka 为什么牛? 为什么这么火?有什么优势呢?
在zk上记录这个数据就很不合适,zk每个节点能放的数据最大也就1M,zk主要是用来做服务注册与发现的一个协调服务,对高并发的一个偏移量的读写就不是它的强项, 所以后面的高版本里不在zk保存消息的偏移量了,直接在客户端保存 ,我们通常使用的DB都是关系型数据库,都是将数据持久化到磁盘中,数据的访问在对磁盘进行读写,我们都知道对磁盘进行IO比较慢,那么如何让读写速度加快呢,就产生了redis等产品,redis访问数据快是因为将数据都存储到内存去了;,来保证零数据丢失,除非连副本机器也偷走了,那没办法了哈哈,原创 2023-07-26 16:09:32 · 129 阅读 · 0 评论 -
Kafka 入门到起飞系列 - 生产者发送消息流程解析
批次的概念很好理解,缓冲区就像一辆公交车,有两种发车方式,一是人满了就发车,一是等5分钟就发车,不管是人满了还是到5分钟了,发车,go~Producer 创建时,会创建一个Sender线程设置为守护线程。Producer 生产消息,内部是一个异步流程。Producer 创建时,会创建缓冲区。原创 2023-07-16 17:29:31 · 2038 阅读 · 2 评论 -
Kafka 入门到起飞系列 - 磁盘存储 -零拷贝
Redis 是 在内存存储数据的,数据读取时不要经过磁盘的IO,只需要内存的操作,这也是redis访问速度快的原因Kafka背道而驰,,发送过来的数据交给Kafka后会落盘,消费者读取数据时,也是通过磁盘读取,发送给消费者减少不必要的拷贝次数。原创 2023-07-17 00:08:57 · 646 阅读 · 0 评论 -
Kafka 入门到起飞 - 核心概念(术语解释)
通常一个topic下的分区分散在kafka集群的不同实例(broker)上,producer向一个topic发送消息会发送给不同分区中,这样消息就可以实现并行发送与处理,增加吞吐量。当一台机器能力不足时,可以通过添加机器横向扩展broker,在新的机器上创建分区,这样就可以实现无限水平扩展。压缩带来的磁盘空间和带宽的节省,远大于CPU开销的代价,这样的压缩是值得的。消息顺序写入分区,每个分区时一个有序队列,kafka不保证跨分区消息有序。批次越大,单位时间内处理的消息越多,单个消息传输时间越长。原创 2023-07-14 15:57:52 · 1776 阅读 · 0 评论