首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

【夏之以寒-Kafka面试 01】每日一练:10道常见的kafka面试题以及详细答案

持久化存储 Kafka提供了持久化存储机制,消息被持久化存储在磁盘上,而不是仅仅保留在内存中。...Kafka还提供了数据保留策略,允许用户根据需要设置数据的保留时间,过期的数据将被自动清理。 流处理能力 除了作为消息队列系统,Kafka还具备流处理能力。...Kafka Streams允许用户编写处理数据流的应用程序,并将其作为一个流处理器(Stream Processor)运行。流处理器可以读取Kafka中的数据,对其进行处理,并将结果写回Kafka。...Partition:通常不直接进行访问控制,访问控制是在Topic层面上进行的。 总结来说,Topic是逻辑上的消息分类,而Partition是物理上的存储和并行处理单元。...10 Kafka如何实现高吞吐量和高性能? Kafka实现高吞吐量和高性能主要依赖以下几个关键设计和优化策略: 磁盘存储优化 Kafka对磁盘存储进行了优化,以实现高效的数据读写。

12500

前端课程——定位继承与层叠

指定元素使用正常的布局行为,即元素在文档常规流中当 前的布局位置。 absolute: 表示元素为绝对定位。...简单来说定位就是规定被定位元素距离页面顶部及左边的距离 绝对定位 开启后脱离文档流 不设置位置的偏移量则位置不会变化 偏移量 正值(top)向下 负值(top)向上 绝对定位的集中情况 如果当前元素的父级元素是...固定定位 相对于浏览器窗口的定位 脱离文档流 相对定位 不脱离文档流 相对于自身原来的位置进行定位 堆叠 z- index属性指定了一个具有定位属性的元素及其子代元素的z -order。...继承 部分属性可以继承:对子级元素同样保留此样式。 可以到帮助文档进行查阅 层叠 层叠是CSS中的一个基本特征,它定义了如何合并来自多个源的属性值的算法。...尽管CSS样式会来自这些不同的源,但它们的作用范围是重叠的,而层叠则定义了它们如何相互作用。

90431
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Kafka与Pulsar的区别在哪?为什么会成为下一代的消息中间件之王?

    (消息保留):消息要保留多久、出发消息删除的原因以及删除方式 一、消息消费   在一个现代的实时流式架构中,消息用例可被分为两类:队列和流。...流 相比之下、流是严格排序或独占的消息传递。使用流式消息传递,始终只有一个消费者使用消息传递通道。消费者按照编写它们的确切顺序接收从通道发送的消息。...如果共享订阅处理事件的速度很慢,则可以在不更改分区数的情况下向共享订阅添加更多消费者。图4描绘了一个包含3个订阅A,B和C的主题,并说明了消息如何从生产者流向消费者。...图6说明了如何在具有2个订阅的主题分区中保留消息,订阅A已经消费了M6之前的所有消息,订阅B已经消费M10之前的所有消息。...消息保留和消息TTL之间的区别在于消息保留适用于标记为已确认并将其设置为已删除的消息,保留是对主题应用的时间限制,而TTL适用于未使用的消息。因此,TTL是订阅消费的时间限制。

    1.5K30

    关于Pulsar与Kafka的一些比较和思考

    (消息保留):消息要保留多久、出发消息删除的原因以及删除方式 消息消费 在一个现代的实时流式架构中,消息用例可被分为两类:队列和流。...流 相比之下、流是严格排序或独占的消息传递。使用流式消息传递,始终只有一个消费者使用消息传递通道。消费者按照编写它们的确切顺序接收从通道发送的消息。流式用例通常与有状态应用程序相关联。...如果共享订阅处理事件的速度很慢,则可以在不更改分区数的情况下向共享订阅添加更多消费者。图4描绘了一个包含3个订阅A,B和C的主题,并说明了消息如何从生产者流向消费者。 ?...图6说明了如何在具有2个订阅的主题分区中保留消息,订阅A已经消费了M6之前的所有消息,订阅B已经消费M10之前的所有消息。...消息保留和消息TTL之间的区别在于消息保留适用于标记为已确认并将其设置为已删除的消息,保留是对主题应用的时间限制,而TTL适用于未使用的消息。因此,TTL是订阅消费的时间限制。

    2.9K30

    Kafka最基础使用

    一个分布式的流平台应该包含3点关键的能力: 发布和订阅流数据流,类似于消息队列或者是企业消息传递系统 以容错的持久化方式存储数据流 处理数据流 Producers:可以有很多的应用程序...而按key分区可以一定程度上实现数据有序存储——也就是局部有序,但这又可能会导致数据倾斜,所以在实际生产环境中要结合实际情况来做取舍。...日志分段的保留策略有3种 基于时间的保留策略。 基于日志大小的保留策略。 基于日志起始偏移量的保留策略。...1.3 基于日志起始偏移量保留策略 每个segment日志都有它的起始偏移量,如果起始偏移量小于 logStartOffset,那么这些日志文件将会标记为删除。...为指定的topic进行限速,以下为所有consumer程序设置topic速率不超过1MB/s,即1048576/s。

    32250

    CSS补充

    这里就引出了浮动定位 2、浮动定位 float float属性 取值为 left/right 脱离文档流 3、相对定位 relative 元素会相对于它原来的位置偏移某个距离,改变元素位置后,元素原本的空间依然会被保留...语法 属性:position 取值:absolute 配合着 偏移属性(top/right/bottom/left)实现位置的固定 5、固定定位 fixed 将元素固定在页面的某个位置处,不会随着滚动条而发生位置移动...开启BFC后,元素可以包含浮动的子元素 如何触发BFC 设置元素浮动:使用这种方式开启,虽然可以撑开父元素,但是会导致父元素的宽度丢失,而且使用这种方式也会导致下边的元素上移,不能解决问题 设置元素绝对定位...设置元素为inline-block:可以解决问题,但是会导致宽度丢失,不推荐使用这种方式 将元素的overflow设置为一个非visible的值 display:flex;display:flow-root...display:flow-root;副作用较小,但是不兼容IE,看情况使用。

    61710

    【CSS】CSS 总结 ⑦ ( 定位 | 静态定位 | 相对定位 | 绝对定位 | 子绝父相 | 固定定位 | 使用绝对定位设置水平垂直居中 | 堆叠顺序 | 显示模式 | 元素隐藏 ) ★

    盒子模型 相对于 其在 标准流中的位置 设置的 ; 如 : 盒子模型 在标准流 中 , 原来的位置是 (0 , 0) , 设置了相对定位 , 就是 相对于原来的位置 (0, 0) 进行 边偏移 后的位置...是完全脱离 标准流 的 ( 脱标 ) ; 这里与相对定位进行对比 , 相对定位 是相对于 盒子在普通流模式下的位置 进行设置的 ; 相对定位 是 不脱标 ( 脱离标准流 ) 的 , 原来的位置还会进行保留...; 8、子绝父相 - 子元素绝对定位 父元素相对定位 绝对定位 要和 带有定位 的 父容器 搭配使用 ; 子元素 使用绝对定位 , 父元素要使用 相对定位 ; 子元素使用 绝对定位 , 在布局中不会保留其位置..., 子元素完全依赖 父容器 的位置 , 此时就要求父容器必须稳定 , 如果父容器使用了 绝对布局 , 父容器就不会保留位置 , 而子元素又依赖父元素 , 这时父元素建议使用相对定位 , 这样能保证页面的稳定性...; 固定定位 完全脱离 标准流 , 不占用 布局中的位置 , 漂浮在任何元素上方 ; 固定定位 只相对于 浏览器可视窗口 进行定位 , 定位的方式是通过 " 浏览器可视窗口 + 边偏移 " 进行定位

    36410

    流处理与消息队列------《Designing Data-Intensive Applications》读书笔记16

    (其实可以通过触发器的方式实现,但是数据库触发器也是基于数据库内部的关联的表进行操作的),所以引入了消息系统来处理流处理的需求。...为了保证消息不丢失,消息代理使用确认机制:消费者需要明确反馈给消息队列,对应的消息得到了处理,消息队列会在队列之中移除对应的消息。...所以数据库快照必须与日志中的偏移量相对应,以便确定在处理完快照后,在哪一点开始应用日志更改。 因为只能保留有限的日志记录,所以每次需要添加新的派生数据系统时,都需要经历快照的过程。...3.流处理的时间依赖 流处理与数据库相比最核心的差别是:查询和数据之间的关系是相反的。通常,数据库会持久地存储数据,而查询是一个临时的操作。...一旦涉及到变化,则是一个时间敏感问题,数据是随着时间的推移而变化的,流处理通常需要处理时间,特别是用于分析的数据变化时,需要使用时间窗口。例如 “过去五分钟的平均时间”。

    1.1K30

    初识kafka

    Kafka是用来设置和使用的,并且很容易知道Kafka是如何工作的。然而,其受欢迎的主要原因是它的出色性能。...Kafka允许您构建实时流应用程序,对流进行实时数据分析、转换、反应、聚合、加入实时数据流,并执行CEP(复杂事件处理)。...此外,Kafka客户端和消费者可以控制读位置(偏移量),这允许用例在有关键错误时重放日志(即修复错误和重播)。由于偏移量是按每个消费者组进行跟踪的,因此消费者可以相当灵活(即重放日志)。...Kafka 会保留消费记录 Kafka集群保留所有已发布的记录。如果不设置限制,它将保存记录,直到耗尽磁盘空间。...您可以设置基于时间的限制(可配置保留期)、基于大小的限制(可根据大小配置)或压缩(使用键保存最新版本的记录)。例如,你可以设定3天、2周或1个月的保留政策。

    97330

    CSS 定位布局 - 相对、绝对、固定三种定位

    关于定位 我们可以使用css的position属性来设置元素的定位类型,postion的设置项如下: relative 生成相对定位元素,元素所占据的文档流的位置保留,元素本身相对自身原位置进行偏移。...static 默认值,没有定位,元素出现在正常的文档流中,相当于取消定位属性或者不设置定位属性。 inherit 从父元素继承 position 属性的值。...relative 相对定位的示例 relative 生成相对定位元素,元素所占据的文档流的位置保留,元素本身相对自身原位置进行偏移。 首先使用三个div来看看文档流部署的情况,如下: ?...而相对定位的布局是不会影响文档流布局的。假设我想要使用相对定位对绿色的div进行偏移,那么就是根据绿色div的文档流布局的位置进行相对偏移的。 ? 假设想要达到上图的偏移效果,该怎么做呢? ?...上面已经测试使用了绝对定位,绝对定位基本是与父级元素进行偏移定位的。那么fixed固定定位按照描述应该就直接是基于body进行偏移定位的。 那么这个怎么去验证呢?

    3.5K40

    「事件驱动架构」何时使用RabbitMQ或 Kafka?

    发送的数据将一直存储到经过指定的保留期(一段时间或一个大小限制)为止。消息将一直停留在队列中,直到超过保留期/大小限制,这意味着消息被使用后不会被删除。...在不同版本的Apache Kafka中,Kafka是如何记录哪些被使用了,哪些没有被使用的。在早期版本中,使用者跟踪偏移量。 当RabbitMQ客户端不能处理消息时,它也可以nack(否定确认)消息。...如何处理队列? RabbitMQ的队列在空的时候是最快的,而Kafka被设计用来保存和分发大量的消息。Kafka用很少的开销保留大量的数据。 尝试RabbitMQ的人可能没有意识到惰性队列的特性。...您可以添加一个数据源,允许您使用来自该数据源的数据并将其存储在Kafka中,或者相反,将主题中的所有数据发送到另一个系统进行处理或存储。...下面是两个主要用例,描述了我和我们的许多客户是如何考虑和决定使用哪个系统的。当然,我们也看到过这样的情况:客户在构建一个系统时,应该使用一个系统,而不是另一个系统。

    1.5K30

    Kafka 是否可以用做长期数据存储?

    这是一个非常常见的问题,我们知道,Kafka 是这样存储日志记录的 答案是“可以”,只要把数据保留时间设置为“永久”,或者开启日志压缩,数据就会被一直保存 把数据长期存储在 Kafka,这个做法并不疯狂...,很多人已经在这么用,并且 Kafka 的设计中也涵盖了这种用法,下面是一些实际应用的场景 应用场景 (1)你有一个应用,使用了事件模式,并需要对变更日志进行存储,理论上可以使用很多系统来存储日志,但是...中的日志压缩,应用重新启动时,从偏移量为0的位置重新读取数据到缓存 (3)需要对来自 Kafka 的流数据进行流计算,当流计算逻辑发生变化时,我们希望重新计算一遍,这时就可以把偏移量置为0,重头计算...形式运行,可以弹性的扩展和缩减,有容错复制系统,具有高可用性 kafka 允许实时的数据流处理,而不是一次处理一条消息 kafka 已经不是一个传统的消息队列,而应该归类到“流处理平台” Kafka...Kafka 相关文章 Kafka 流数据 SQL 引擎 -- KSQL Kafka 消息的生产消费方式 Kafka 快速起步 Kafka 消息存储及检索 Kafka 高可用设计 Kafka 是如何实现高吞吐率的

    3.2K90

    万文长字总结「类别增量学习」的前世今生、开源工具包

    Herding 提出了使用保留的旧类数据来进行nearest-mean-of-exemplars的分类方式,而非直接使用训练阶段的到的线性分类器。...这是因为使用交叉熵损失函数在不平衡的数据集上直接进行训练,很容易出现较大的分类器的偏执。而模型提取的特征则能够很大程度上缓解这个问题。...训练流程 当新的任务到来时: 将新来的类别数据集与保留的旧类数据的exemplar set合并得到当前轮的数据集。 使用sigmoid将模型输出的logits转化为0-1之间。...使用知识蒸馏来提供旧类的监督信息。 5.3 BiC[8] 核心摘要 BiC基本遵循了iCaRL的训练范式,但仍然使用线性分类器作为预测阶段的分类器。...然而,在开放动态环境中这种假设难以满足——新的类别会随时间不断增长,模型需要在数据流中持续地学习新类。例如,在电商平台中,每天都会新增多种产品;在社交媒体上,新的热点话题层出不穷。

    1.4K40

    深入研究Apache Flink中的可缩放状态

    rescale以及如何进行rescale?...相比之下,无状态流处理中的operators只考虑它们当前的输入,而没有进一步的上下文和关于过去的记录。...虽然这解决了(i)跨机器重新分配一致的状态的问题,但仍然存在一个问题:在以前的状态和新的并行operator实例之间没有明确的1:1关系,我们如何以(iii)有意义的方式分配状态?...对于Kafka源,该对象是分区偏移量的列表。 然后将该快照对象写入分布式存储。在恢复时,从分布式存储中读取对象,并将其作为参数传递给operator实例,以供restore function使用。...引入列表而不是单个对象使得能显式地对状态进行有意义的分区:列表中的每个项对于Flink来说仍然是一个黑盒,但被认为是operator状态的一个原子的、独立的可重新分发的部分。 ?

    1.6K20

    Provenance存储库原理

    或者,如果数据处理不当(可能应该先进行一些数据操作),则可以修复流,然后将数据重放到新流中,以便正确处理数据。...但是,用户仍然能够查看流文件的沿袭并了解数据发生了什么。例如,即使数据本身无法访问,用户仍然能够看到数据的唯一标识符、文件名(如果适用)、何时接收、从何处接收、如何操作、发送到何处等等。...然后,可以选择对文件进行压缩(由nifi.provenance.repository.compress.on.rollover属性确定)。最后,使用Lucene对事件进行索引并使其可用于查询。...管理员可以设置两个条件来控制出处日志的删除,即可以占用的最大磁盘空间量和日志的最大保留期限。该线程按上次修改日期对存储库进行排序,并在超过其中一个条件时删除最旧的文件。...同时,我们将压缩块索引的.toc(目录表)文件保留为“压缩块偏移”的映射。此偏移量是此事件块开始的文件中的偏移量。这样,当我们为事件建立索引时,我们就可以为相关字段以及数据指针建立索引。

    98220

    Kafka系列之高频面试题

    注意:这只能保证副本之间的数据一致性,并不能保证数据不丢失或者不重复 Kafka的故障转移是通过使用会话机制实现的,每台Kafka服务器启动后会以会话的形式把自己注册到ZK服务器上。...A:可使用bin/kafka-topics.sh命令增加Kafka的分区数,但不支持减少分区数。 Kafka分区数据不支持减少是由很多原因的,比如减少的分区内数据放到哪里去?是删除,还是保留?...如果保留这些消息如何放到其他分区里面?追加到其他分区后面的话那么就破坏Kafka单个分区的有序性。如果要保证删除分区数据插入到其他分区保证有序性,实现起来逻辑就会非常复杂。...,第一种方案会造成大量数据的冗余 虽然方案二的网络延迟会比较高,但网络延迟对Kafka的影响较小 不丢失 不能保证消息不丢失,只能尽力。...Apache ZooKeeper:用于协调和管理集群元数据。 存储:Pulsar使用BookKeeper进行存储,支持水平扩展和高性能的日志存储。

    9910

    Kafka【入门】就这一篇!

    现在它已被多家不同类型的公司 作为多种类型的数据管道和消息系统使用。 活动流数据是几乎所有站点在对其网站使用情况做报表时都要用到的数据中最常规的部分。...Kafka 是如何准确的知道 message 的偏移的呢?...而且,将分区进行重平衡也会导致原来的消费者状态过期,从而导致消费者需要重新更新状态,这段期间也会降低消费性能。后面我们会讨论如何安全的进行重平衡以及如何尽可能避免。...可以看到,从消费者宕机到会话过期是有一定时间的,这段时间内该消费者的分区都不能进行消息消费;通常情况下,我们可以进行优雅关闭,这样消费者会发送离开的消息到组协调者,这样组协调者可以立即进行重平衡而不需要等待会话过期...另外更高版本的 Kafka 支持配置一个消费者多长时间不拉取消息但仍然保持存活,这个配置可以避免活锁(livelock)。活锁,是指应用没有故障但是由于某些原因不能进一步消费。

    47810

    Kafka【入门】就这一篇!

    现在它已被多家不同类型的公司 作为多种类型的数据管道和消息系统使用。 活动流数据是几乎所有站点在对其网站使用情况做报表时都要用到的数据中最常规的部分。...Kafka 是如何准确的知道 message 的偏移的呢?...而且,将分区进行重平衡也会导致原来的消费者状态过期,从而导致消费者需要重新更新状态,这段期间也会降低消费性能。后面我们会讨论如何安全的进行重平衡以及如何尽可能避免。...可以看到,从消费者宕机到会话过期是有一定时间的,这段时间内该消费者的分区都不能进行消息消费;通常情况下,我们可以进行优雅关闭,这样消费者会发送离开的消息到组协调者,这样组协调者可以立即进行重平衡而不需要等待会话过期...另外更高版本的 Kafka 支持配置一个消费者多长时间不拉取消息但仍然保持存活,这个配置可以避免活锁(livelock)。活锁,是指应用没有故障但是由于某些原因不能进一步消费。

    76720
    领券