Kafka
文章平均质量分 92
Kafka
YaoYong_BigData
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
kafka的副本同步机制---关于高水位和Leader Epoch
一、何为高水位日常生活中,我们一般把什么叫做水位呢?经典教科书在时刻T,任意创建时间(Event Time)为T',且T'<=T的所有事件都已经到达,那么T就被定义为水位《Streaming System》水位是一个单调增加且表征最早未完成工作的时间戳如上图所示,标注为Completed的蓝色区域代表已经完成的工作,而标注为In-Flight的红色区域代表未完成(正在进行)的工作,两边的交界线就是水位线。 在kafka中,水位不是时间戳,而是与位置信息绑定...原创 2022-05-20 16:23:59 · 3151 阅读 · 1 评论 -
深入理解Kafka
一、概述Kafka是一个分布式的基于发布、订阅的消息系统,有着强大的消息处理能力,相比与其他消息系统,具有以下特性:快速数据持久化,实现了O(1)时间复杂度的数据持久化能力。 高吞吐,能在普通的服务器上达到10W每秒的吞吐速率。 高可靠,消息持久化以及副本系统的机制保证了消息的可靠性,消息可以多次消费。 高扩展,与其他分布式系统一样,所有组件均支持分布式、自动实现负载均衡,可以快速便捷的扩容系统。 离线与实时处理能力并存,提供了在线与离线的消息处理能力。正是因其具有这些的优秀特性而广泛用于原创 2022-05-19 16:08:04 · 950 阅读 · 0 评论 -
Kafka 是如何实现exactly once语义的?
一、消息语义概述在分布式系统中,构成系统的任何节点都是被定义为可以彼此独立失败的。比如在 Kafka中,broker可能会crash,在producer推送数据至topic的过程中也可能会遇到网络问题。根据producer处理此类故障所采取的提交策略类型,我们可以获得不同的语义:至少一次(at-least-once):消息不会丢失,但有可能被重复发送。如果producer收到来自Kafka broker的确认(ack)或者acks = all,则表示该消息已经写入到Kafka。但如果producer原创 2022-05-19 14:08:06 · 3083 阅读 · 0 评论 -
Kafka的高吞吐率是怎么实现的
一、Producer端消息优化Kafka支持使用异步批量的方式发送消息。当Producer生产一条消息时,并不会立刻发送到Broker,而是先放入到消息缓冲区,等到缓冲区满或者消息个数达到限制后,再批量发送到Broker。Producer端需要注意以下参数:acks参数:**表示Producer发送消息后是否需要等待broker的应答。目前提供三个取值,acks=0 表示发送消息后立即返回,不需要等待broker的确认;acks=1 表示消息被写入到主分区后,broker需给予应答,此时并不原创 2022-05-19 10:37:42 · 2572 阅读 · 0 评论 -
kafka快速入门---思考与实现
一、为什么需要消息引擎?由于工作中经常用到kafka,但是对kafka的一些内部机制不是很熟悉,所以最近在看kafka相关的知识,我们知道kafka非常经典的消息引擎,它以高性能、高可用著称。那么问题来了,它是怎么做到高性能、高可用的?它的消息是以什么样的形式持久化的?既然写了磁盘,为何速度还那么快?它是如何保证消息不丢失的...?带着这一系列的问题,我们来扒开kafka的面纱。首先我们思考这样一个问题:为什么需要消息引擎?为什么不能直接走rpc? 以一个订单系统为例:当我们下了一个订单的时候,应该原创 2022-05-18 17:54:49 · 494 阅读 · 0 评论
分享