![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
kafka
BorisCao
这个作者很懒,什么都没留下…
展开
-
kafka高性能之顺序写&ZeroCopy
Kafka的特性之一就是高吞吐率,但是Kafka的消息是保存或者存储在磁盘上的。Kafka可以轻松支持每秒百万级的写入请求。为了优化写入速度Kakfa采用了两个技术顺序写入和MMFile顺序写入和MMFile顺序写入能提高写入速度,但是也不能和内存进行比对,因此kafka的数据并不是实时的写入硬盘中MMFile(Memory Map Filed)内存映射文件。原理是利用操作系统的Page实...原创 2020-04-11 17:54:53 · 458 阅读 · 0 评论 -
kafka的Topic和日志
Kafka中所有消息是通过Topic为单位进行管理,每个kafak的Topic通常会有多个订阅者,负责订阅发送到该Topic的数据。 Kakfa负责管理集群中每个Topic的一组日志分区数据生产者将数据发送到相应的Topic。负责寻址将哪个分区发送到Topic的哪个Partion?例如 round-robin方式 或者基于key(hash取模),实现负载均衡每组日志分区都是一个有序的不可变的...原创 2020-04-11 17:27:13 · 924 阅读 · 0 评论 -
Kafka集群
Kafka集群概念1.kafka集群以Topic形式负责分类集群中的Record,每一个Record属于一个Topic。2.每一个Topic底层都会对应一组分区的日志用于持久化Topic的Record。3.在Kafka集群中,Topic的每一个日志分区都有一定会有1个Broker担当该分区的Leader,其他的Broker担任该分区的follower.4.Leader负责分区数据的读写操作...原创 2020-04-11 16:24:47 · 207 阅读 · 0 评论 -
kafka同步机制 Hight WaterMark和ISR (In-sync-replicas)
kafka 0.11之前使用HW(Hight WaterMark),0.11之后使用Leader EpochHW 弊端: 数据丢失、数据不一致Leader Epoch: 解决数据丢失和数据不一致问题Leader中持有一个Leader Epoch,并存储在zookeeper中,并传递给每一个新的leader...原创 2020-03-18 09:38:15 · 309 阅读 · 0 评论 -
Kafka中的事务
幂等性能保证同一个分区内的原则性,但是不能保证多个分区的原子性生产者事务和 消费者与生产者事务生产者事务(1)生产者开启事务(2)消费者 read_commit消费者与生产者事务(1)消费者消费数据(2) 开启事务提交消费者的偏移量提交生产者事务...原创 2020-03-17 23:16:56 · 169 阅读 · 0 评论 -
kafka的Acks和Retries、幂等性
kafka的Acks和Retries,保证数据的可靠性传输,针对生产者Acksacks = 1 : leader把数据写入磁盘后,不等follower完全确认,就做出响应;如果leader宕机,会造成数据丢失acks = 0: 生产者不等待任何确认,直接响应acks = all: leader会等待至少一个follower完全确认,才做出响应;即使leader宕机,数据也不会丢失Retr...原创 2020-03-17 23:04:08 · 994 阅读 · 0 评论 -
Kafka的Offset自动控制
Kafka的offset自动控制1.earliest :针对这个某个组未初始化偏移量时,设置偏移量为最早2.latest:针对这个某个组未初始化偏移量时,设置偏移量为最新3.nono:如果未找到消费组先前的偏移量,则向消费者抛出异常注:kafka默认自动提交消费的偏移量,并且 offset的偏移量=消费的偏移量+1enable.auto.commit=trueauto.commit.i...原创 2020-03-17 22:47:27 · 364 阅读 · 0 评论 -
Kafka简介
应用场景: 缓存、解耦、削峰填谷概念: topic、分区(副本数)、offset、顺序写、zerocopy生产者、消费者、消费组原创 2020-03-15 23:51:52 · 71 阅读 · 0 评论