1、应该为生产者配置多少次的重试次数比较好?
这个取决于你对你的应用的定位,如果你想抓住异常并想再重试几次,那么你可以将重试次数设置的多一些,如果你想直接丢弃消息,因为就算丢失消息也对你应用不受影响,而且多次重启之后带来的延迟对你的应用来说已经无意义,
那么你可以停止重试。或者你想将消息保存到某个地方然后回过头来继续处理,那就停止重试。
2、在消费一个批次的消息时,如果其中的某个消息没被处理成功,而你想稍后处理,怎么办?
方式一:在遇到可重试的错误时,提交最后一个处理成功的偏移量,然后把还没有处理好的消息保存到缓冲区里,调用消费者到pause()来暂停轮询,然后重新处理,处理完毕则调用resume()继续让消费者从轮询里获取新数据。
方式二:在遇到可重试的错误时,将错误写入一个独立的主题,然后继续消费下去。使用一个独立的消费者群组负责从该主题上读取错误信息,并进行重试。或者使用其中一个消费者同时从该主题上读取消息并重试,但再重试过程中要暂停该主题。
3、当你处理(消费)一个大的消息时,你怎么做能加快速度?
1、生产者端与broker进行消息控制:
> 1、避免大消息的发生,通过设置参数message.max.bytes
> 2、压缩消息,通过设置参数compression.codec
2、消费者端处理:
> 一个人干不了,那就一群人干。通过并发来处理,注意kafka消费者端不是线程安全的,所以使用并发的时候需要注意,可以通过一个线程将消息pull下来,然后通过一个线程池里的线程来并发处理消息。
4、kafka怎么做到仅一次消息(exactly-once)?
第一:做到写入外部系统时的仅一次消息。
最简单最常用的方法是把结果写到一个支撑唯一键的系统里,比如键值存储、关系型数据库、ElasticSearch或其他数据存储引擎。需要构造消息的一个唯一键。要么消息自身有一个唯一键,要不通过主题、分区和偏移量的组合来创建唯一键。
这种方式叫做——幂等性写入。
第二:如果写入消息的系统支持事务,那么可以通过将消息与偏移量放在同一事务中,来达到仅一次消息。每处理一条记录就提交一次偏移量,将处理记录的结果与提交偏移量放在一个事务里,它们要么一起成功,要么一起失败。
5、保存在分区首领上的数据都可以被客户端读取吗?
大部分客户端只能读取已经被写入所有同步副本的消息,在消息还未写入所有同步副本之前,是不会发给消费者的——尝试获取这些消息的请求会得到空的响应而不是错误。为什么要写入所有同步副本,是为了消息的一致性。
消费者只能看到复制到ISR的请求。

6、kafka在broker里是怎么保留数据的?
因为在一个大文件里查找和删除消息是很费时的,也很容易出错,所以将分区分成了若干个片段,默认情况下,每个片段包括1GB或者一周的数据,以较小的那个为准,在broker往分区写入数据时,如果达到片段上限,就关闭当前文件,打开一个新的文件。
7、kafka里的索引是用来干什么的?
消费者可以从kafka的任意可用偏移量位置开始读取消息,为了帮助broker更快的定位到指定的偏移量,kafka为每个分区维护了一个索引,索引把偏移量映射到片段文件和偏移量在文件里的位置。kafka会自动生成索引。所以删除索引很安全。
8、kafka的清理功能能做什么?
1、可以为你保留最新的值 2、删除特定键的所有消息
9、kafka主题多了会对其中一个主题的性能有影响吗?
一般情况下是不会有啥影响的,但是如果主题太多了,导致系统资源的争用,就可能对每一个主题的性能都有影响。
10、
11、kafka是什么?
kafka是一套基于发布与订阅模式的消息系统,一般被称为“分布式提交日志”或“分布式流平台”。
12、kafka有哪些优势?
1、可伸缩性:随着数据量的增长,可通过增加broker的数量来扩展集群,多在线集群的扩展丝毫不影响整体系统的可用性。
2、消息保留机制:每个主题可以设置不同的消息保留机制,当发生故障时,消息的持久化将会保证数据不会丢失。
3、多个生产者、多个消费者
4、高性能、高吞吐:通过横向扩展生产者、消费者和broker,Kafka可以轻松处理巨大的消息流。在处理大量数据时还能保证亚秒级的消息延迟。
13、kafka使用的是什么通信协议?
kafka使用的是一套基于TCP之上的二进制协议。
14、kafka支持哪几种消息模型?
kafka支持点对点模型与发布-订阅模型
点对点模型:配置一个消费者组,消费者订阅某个主题,主题的一个分区由组内的某一个消费者进行消费
发布-订阅模型:配置多个消费者组,订阅同一个主题
15、kafka的服务端和客户端分别指什么?
kafka的服务端指的是进行消息存储、消息传递的处理中心,也就是broker,客户端指的是与服务端进行打交道,借助服务端提供的能力来处理消息。生产者与消费者端都是客户端。
16、kafka有哪些核心的组件?
1、producer:生产者
2、consumer:消费者
3、broker:kafka服务实例
4、Topic:主题
5、partition:分区
17、kafka有哪些核心的API?
1、生产者API:关键词——kafkaProducer与ProducerRecords
2、消费者API:关键词——kafkaConsumer与ConsumerRecords
3、连接器(Connect)API:
4、Streams API:流式处理API
17、kafka有哪些核心功能?
1、生产和消费消息:用做发布与订阅模式的消息队列
2、connect(连接器):用做构建数据管道
3、Streams:流式处理
18、kafka有哪些应用场景?
1、活动跟踪
2、传递消息
3、度量指标和日志记录
4、提交日志
5、流处理
19、kafka为什么那么快?
1、支持多个生产者
2、支持多个消费者
3、消息可以按批次发送
4、消息者可以成组消费消息
5、broker的可扩展性
6、磁盘顺序读写
7、零拷贝技术
20、kafka主要消耗什么资源?
网络资源
21、kafka是由什么语言编写的?
由Scala和Java编写
22、kafka都有哪些发行版?如何选择?
1、Apache Kafka
Apache Kafka 是最“正宗”的 Kafka,也应该是你最熟悉的发行版了。自 Kafka 开源伊始,它便在 Apache 基金会孵化并最终毕业成为顶级项目,它也被称为社区版 Kafka。咱们就是以这个版本的 Kafka 作为模板来学习的。更重要的是,
它是后面其他所有发行版的基础。也就是说,后面提到的发行版要么是原封不动地继承了 Apache Kafka,要么是在此之上扩展了新功能,总之 Apache Kafka 是我们学习和使用 Kafka 的基础。
2、Confluent Kafka
我先说说 Confluent 公司吧。2014 年,Kafka 的 3 个创始人 Jay Kreps、NahaNarkhede 和饶军离开 LinkedIn 创办了 Confluent 公司,专注于提供基于 Kafka 的企业级流处理解决方案。2019 年 1 月,Confluent 公司成功融资 D 轮 1.25 亿美元,
估值也到了 25 亿美元,足见资本市场的青睐。
3、Cloudera/Hortonworks Kafka
Cloudera 提供的 CDH 和 Hortonworks 提供的 HDP 是非常著名的大数据平台,里面集成了目前主流的大数据框架,能够帮助用户实现从分布式存储、集群调度、流处理到机器学习、实时数据库等全方位的数据处理。我知道很多创业公司在搭建数据平台时首选就是这两个产品。不管是 CDH 还是 HDP 里面都集成了 Apache Kafka,因此我把这两款产品中的Kafka 称为 CDH Kafka 和 HDP Kafka。当然在 2018 年 10 月两家公司宣布合并,共同打造世界领先的数据平台,也许以后 CDH和 HDP 也会合并成一款产品,但能肯定的是 Apache Kafka 依然会包含其中,并作为新数据平台的一部分对外提供服务。
如果你仅仅需要一个消息引擎系统亦或是简单的流处理应用场景,同时需要对系统有较大把控度,那么我推荐你使用 Apache Kafka。
如果你需要用到 Kafka 的一些高级特性,那么推荐你使用 Confluent Kafka
如果你需要快速地搭建消息引擎系统,或者你需要搭建的是多框架构成的数据平台且 Kafka 只是其中一个组件,那么我推荐你使用这些大数据云公司提供的 Kafka
23、kafka消息是推模式还是拉模式?
拉模式
24、kafka中zookeeper的作用?
kafka使用zookeeper来保存broker、主题和分区的元数据信息。
25、kafka已经移除Zookeeper了吗?
去除了
26、kafka为什么要移除Zookeeper?
因为Zookeeper在进行内部节点选举时,无法提供服务,如果在选举过程中发生异常,那对于kafka来说是毁灭性的,kafka本身不应该由外部组件来决定它的可用性。所以要去除zookeeper。
28、kafka服务端实现高可用有哪些机制?
1、broker集群可扩展
2、主题分为多个分区,分区可以跨broker部署
3、分区复制机制,分区具有首领分区与跟随者分区,跟随者分区是为了冗余备份。
29、kafka Server是什么网络模式?
是Reactor模式,一种基于事件驱动的模式。
30、kafka中的控制器是什么?
kafka中的控制器就是一个broker
31、kafka中的控制器的作用有哪些?
1、一般broker的数据功能
2、负责在节点加入和离开集群时进行分区首领的选举
3、集群broker成员监控管理(比如发现某个broker已经离开集群(通过观察相关的Zookeeper路径),发现某个broker加入集群)
32、kafka中的控制器是怎样产生的?
基于kafka使用zookeeper版本来说明:当集群里第一个启动的broker通过在zookeeper里创建一个临时节点/controller,让自己成为控制器,其他节点也创建,但是会提示“节点已存在”的异常。如果控制器异常了,其他节点通过watch对象得到
控制器节点消失的通知,然后去创建控制器节点,第一个创建的控制器节点称为控制器,然后在新的控制器节点上再次创建watch对象。
33、kafka中的控制器是通过什么实现的?
通过在zookeeper中创建临时节点来实现的。
34、kafka中的控制器保存了哪些数据?
1、所有主题信息。包括具体的分区信息,比如首领副本是谁,ISR 集合中有哪些副本等。
2、所有 broker 信息。包括当前都有哪些运行中的broker,哪些正在关闭中的broker 等。
3、所有涉及运维任务的分区。包括当前正在进行分区首领选举以及分区重分配的分区列表。
说明:这些数据其实在 ZooKeeper 中也保存了一份。每当控制器初始化时,它都会从 ZooKeeper 上读取对应的元数据并填充到自己的缓存中。
35、kafka中ISR是什么?
ISR的全称是:In-Sync Replicas (同步副本集),可以理解为与Leader副本保持同步的所有Follower副本的集合。
36、kafka副本长时间不在ISR中说明什么?
说明此副本已经长时间没有跟Leader副本进行数据同步了,此副本可能已经挂了。
37、kafka副本同步机制是怎样的?
kafka的分区中,存在两种类型的副本,一种是Leader类型,称为首领副本,一种是Follower类型,称为跟随者副本,跟随者副本会向首领副本发送获取数据的请求,首领将响应消息发给跟随者,请求消息里包括了跟随者想要获取的偏移量。
这些偏移量总是有序的。
38、kafka首领副本挂了会怎么样?
首领副本挂了,会往ISR的副本集中找一个副本进行选举,选举成功的副本成为新的Leader,如果ISR中不存在副本了,如果unclean.leader.election.enable(默认为false)等于true,就会发生Unclean选举,往OSR(不同步的副本集)里面去找副本选举为
新的Leader,此种情况下,会造成数据丢失。
39、kafka中的Unclean选举是?
unclean.leader.election.enable(默认为false)=true时,当ISR不存在副本时,且Leader副本挂了,这时候就会往OSR(不同步的副本集)里面去找副本选举为新的Leader,此种情况下,会造成数据丢失。
40、kafka能避免消费者组重平衡吗?
避免不了,消费者组重平衡会发生在以下三种情况:
1、消费者组成员发生变化时
2、主题发生变化时
3、主题的分区发生变化时
消费者组重平衡是kafka的一种提高高可用和伸缩性的手段,所以在有故障或人为操作时,是无法避免消费者组重平衡的
41、kafka connect能做什么?什么时候会考虑使用它?
42、Kafka中的分区是指什么?
Kafka可以将主题划分多个分区,每个分区存储一部分主题的内容,分区可以存储在不同的kafka server上。
43、kafka为什么要分区?
分区是实现高可用,高吞吐的手段,高可用体现在分区复制机制,且分区存储在不同的server上,高吞吐体现在分区可以均匀的分布消息,读写平均分布。
44、分区策略有哪些?
分区写入策略:就是消息生产出来后,落入到哪个分区?
第一种分区策略:给定了分区号,直接将数据发送到指定的分区里面去
第二种分区策略:没有给定分区号,给定数据的key值,通过key取上hashCode进行分区
第三种分区策略:既没有给定分区号,也没有给定key值,直接轮循进行分区
第四种分区策略:自定义分区
分区分配策略:主题创建之后,在broker中怎么分配主题的分区
第一种:依次选择一个broker,然后以轮询的方式尽可能平均的放置分区
分配过程中遵循两个准则:1、分区首领会平均的放在broker中。 2、跟随者副本与首领副本分散在不同的broker中
45、kafka的默认分区策略是哪个?
默认是轮询策略。
46、kafka数据备份副本分为哪几类?
Leader和Follower,数据只发往Leader,Follower找Leader同步数据
47、kafka副本和分区的关系是?
副本是属于分区内的概念,一个分区可以有多个副本。分区有一个Leader和0或多个Follower。
48、kafka数据副本都可以提供服务吗?
kafka在2.4版本前只有Leader副本提供服务,2.4版本后,属于ISR的跟随者副本也可以提供服务。
49、kafka消费者可以选择指定的分区消费吗?
50、kafka支持读写分离吗?为什么?
kafka2.4版本之后开始支持从跟随者副本进行数据读取,支持读写分离。
为什么一开始不支持,因为流量大,你kafka支持很好的横向扩容,经过扩容就可以解决了。再添加读写分离的话,会导致复杂度,因为如果一开始消费者读的是属于ISR内的一个跟随者副本,但之后此副本被踢到OSR了,
这种情况消费者又要重平衡了,复杂度上升了。
51、kafka创建Topic是否有数量限制?
没有限制,但是各个主题的分区之和是有上限的,达到上限后,就无法创建Topic。
52、kafka创建Topic分区是否有数量限制?
理论上是无限的,但是越多的分区创建之后,kafka的性能是随之下降的,所以要选择一个合理的分区数量范围。
官方给过一个公式可以参考:
每个Broker的Partition数量最好限制在100 × b × r(b是Broker数,r是Partition副本数),滴滴的最佳实践是单节点Parttion不易超过1000个,大量小文件容易导致HDD盘的读写性能下降
kafka官方也提供了脚本方便我们针对我们的kafka集群做测试,我们可以测试当前提供的硬件条件进行压测,得出当前机器环境到底能支持多少分区数,从而达到尽量最优的方案。
生产者性能测试脚本:kafka-producer-perf-test.sh
消费者性能测试脚本:kafka-consumer-perf-test.sh
53、kafka可以减少Topic分区数吗?
kafka只能增加分区的数量,不能减少分区数,如果要减少,只能重新创建主题了。
54、kafka消费者与分区的对应关系是?
在同一个消费者组内,一个 Partition 只能被一个消费者消费。 在同一个消费者组内,所有消费者组合起来必定可以消费一个 Topic 下的所有 Partition。 在同一个消费组内,
一个消费者可以消费多个 Partition 的信息。 在不同消费者组内,同一个分区可以被多个消费者消费。 每个消费者组一定会完整消费一个 Topic 下的所有 Partition。
55、kafka生产者是线程安全的吗?
是线程安全的
56、kafka会出现重复消费问题吗?
会出现,主要发生在以下场景:
1、生产者重复发送,比如消息重试
2、kafka server端,进行消费者组重平衡时,偏移量没有及时更新。
3、消费者端在提交偏移量之前,发生重平衡了
57、kafka如何监控消费者的消费进度?
就是监控Lag指标,通常有三种方法:
1、使用 Kafka 自带的命令行工具 kafka-consumer-groups 脚本。
2、使用 Kafka Java Consumer API 编程。
3、使用 Kafka 自带的 JMX 监控指标。
58、kafka如何保证消费者的线程安全性?
59、kafka消费者组是什么?
就是订阅同一主题的消费者都属于同一消费者组,每个消费者接受主题一部分分区的消息。往群组里增加消费者是横向伸缩消费能力的主要方式。
60、kafka为什么要引入消费者组?
主要是为了分摊负载,通过增加群组内的消费者数量来加快消费消息的速度。
61、kafka消费者组如何分配消费者数量?
62、kafka中的重平衡是什么?
就是分区的所有权从一个消费者转移到另一个消费者,这样的行为被称为重平衡。
63、kafka什么时候会触发重平衡?
消费者组重平衡会发生在以下三种情况:
1、消费者组成员发生变化时
2、主题发生变化时
3、主题的分区发生变化时
64、kafka中重平衡有什么弊端吗?
1、在重平衡期间,消费者无法读取消息,造成整个群组一小段时间的不可用。
2、当分区被重新分配给另一个消费者时,消费者当前的读取状态会丢失,它有可能还需要去刷新缓存,在它重新恢复状态之前会拖慢应用程序。
3、重平衡还可能造成消息丢失或消息重复。
65、kafka中偏移量有什么用?
能记录每个分区内消费者的消息位置。在发生故障时,能恢复“现场”
66、kafka中的Lag指标是什么?
Lag是kafka消费队列性能监控的重要指标,Lag越大表示kafka堆积越严重。
67、kafka支持消费顺序性吗?
kafka只能支持分区内的消息顺序性。
68、kafka支持优先队列吗?
kafka本身时不支持优先队列的,但可以通过kafka加上某些设计来达到消息优先级的可能。
69、kafka支持死信队列吗?
支持,当kafka消费消息时,且到达重试次数时,此时消息队列MQ不会立刻将消息丢弃,而是将其发送到该消费者对应的特殊队列中,这种正常情况下无法被消费的消息称为死信消息(Dead-Letter Message),存储死信消息的特殊队列称为死信队列(Dead-Letter Queue)。
70、kafka支持延迟队列吗?
虽然Kafka内部有时间轮,支持延时操作,例如:延迟生产、延迟拉取以及延迟删除,但这是Kafka自己内部使用的,用户无法将其作为延迟队列来使用。
71、kafka消息堆积了怎么办?
当前堆积处理:
后续调整:
1 增大partion数量,
2 消费者加了并发,服务, 扩大消费线程
3 增加消费组服务数量
4 kafka单机升级成了集群
5 避免消费者消费消息时间过长,导致超时
6 使Kafka分区之间的数据均匀分布
72、kafka如何保证消息的顺序性?
kafka只支持partition级别的消息顺序。而且还需要以下两个配置参数的支持。
1、retries:消息重试的次数,重试可能会导致消息的顺序错乱,比如生产者发送A,B消息,A失败了,B成功了,A经过重试也成功了,这是消息顺序变成了B,A了
2、max.in.flight.requests.per.connection:该参数指定了生产者在收到服务器响应之前可以发送多少个消息。它的值越高,就会占用越多的内存,同时也会提升吞吐量。把它设为1就可以保证消息是按照发送的顺序写入服务器的。
73、kafka生产消息的最大长度是多少?
默认为1M,可以通过max.request.size进行配置,但不是配置越大broker就一定能接受,broker也有一个配置message.max.bytes,此配置指定了broker能接受消息的最大值。所以最好两边配置要一致。
74、kafka中的高水位是指什么?
LEO:LogEndOffset的缩写,表示每个partition log的最新一条消息的位置
HW:HighWatermark的缩写,高水位,代表ISR列表中最小的那个LogEndOffset值,消费者可见的最新partition log的位置。

75、kafka中的高水位有什么用?
1、跟随者副本从首领副本读取数据的时候,也会把自己的LEO带上,首领副本收到的时候会更新自己的跟随者副本LEO的数据结构,同时,它也会从自己管理的这些ISR跟随者副本中找到最小的LEO值,即为HW,
进而可以判断哪些消息是可以消费的,哪些消息是不可以消费的。
2、帮助Kafka完成副本同步
76、kafka中的高水位会带来什么问题?kafka是如何解决这个问题的?
kafka的高水位会带来消息丢失和消息不一致的问题:

77、kafka是如何解决高水位带来的问题的?
78、kafka可以读取失败的事务消息吗?
kafka在0.11版本引入了事务性消息,如何要读取失败的事务消息,可以在Consumer端设置isolation.level=read_uncommitted
这个参数有两个取值:
read_uncommitted:这是默认值,表明Consumer能够读取到 Kafka WW写入的任何消息,不论事务型Producer提交事务还是终止事务,其写入的消息都可以读取。如果你用了事务型Producer,那么对应的Consumer就不要使用这个值。
read_committed:表明Consumer只会读取事务型Producer成功提交事务写入的消息,它也能看到非事务型Producer写入的所有消息。
79、kafka支持事务消息吗?
kafka在0.11版本引入了producer的幂等性写入及事务性消息。
80、kafka支持消息幂等性吗?
幂等性:就是用户对于同一操作发起的一次请求或者多次请求的结果是一致的,不会因为多次点击而产生了副作用。
kafka本身不支持,但是kafka结合键值存储引擎、关系型数据库,ES或其他数据存储引擎,是可以实现幂等性写入的。(kafka 0.11版本之后是支持消息的幂等性写入了,要启用幂等性,只需要将producer参数中的enable.idempotence设置为true即可)
说明:通过唯一的键来标识一条消息,如果你把消息和一个唯一键写入系统,然后又碰到一个相同的消息,这时会发生覆盖,就像没有发生过重复性数据一样。
81、kafka中Producer是幂等性的吗?
在 Kafka 中,Producer 默认不是幂等性的,但我们可以创建幂等性Producer。它其实是 0.11.0.0 版本引入的新功能。在此之前,Kafka向分区发送数据时,可能会出现同一条消息被发送了多次,
导致消息重复的情况。在 0.11 之后,指定 Producer 幂等性的方法很简单,仅需要设置一个参数即可,即 props.put(“enable.idempotence”,ture)。
82、kafka会丢失消息吗?
kafka已经尽量保证不丢失消息了,就是说不保证百分百不丢消息,如果希望在生产环境kafka做到不丢失消息,需要做到以下几步。
1、保证至少有一个同步副本存在(在broker端设置min.insync.replicas大于1,如果设置为2,则表示至少消息要写入两个同步副本才能算成功)
2、保证消息写入所有同步副本,才认为消息是成功写入的(设置生产者端的acks参数=all)
3、生产者端设置合适的重试次数(设置retries)
4、生产者端合理的处理错误(当通过重试还是无法写入消息时,就需要生产者端通过代码程序去处理此类情况)
83、kafka怎么解决消息重复发送问题?
通过消息幂等性写入来解决
84、kafka消息压缩、解压的过程?
85、kafka支持哪几种压缩算法?
1、snappy:snappy由Google发明,它占用较少的CPU,却能提供较好的性能和相当可观的压缩比,如果比较关注性能和网络带宽,可以使用这种算法。
2、gzip:一般会占用较多的CPU,但会提供更高的压缩比,如果网络带宽有限,可以使用这种算法。
3、lz4:效率最高的压缩算法,更加侧重压缩解压速度,压缩比并不是第一。
86、kafka中集群管理工具用的哪一个?
kafka-manager
87、kafka如何选择合理的磁盘?
1.选择磁盘吞吐量高的:大多数客户端在写入消息的时候必须等待,直到至少有一个服务器确认消息已经成功提交为止,也就是说磁盘写入越快,生产端的延迟越低。
2、选择磁盘容量大的:需要多大的磁盘容量取决于需要保留的消息数量,而且还要为其它文件提供至少10%的额外空间。
88、kafka如何设置堆的大小?
修改bin目录下的kafka-server-start.sh文件,比如将初始堆的大小(-Xms)设置小一些:
export KAFKA_HEAP_OPTS="-Xmx1G -Xms128M"
将你的JVM 堆大小设置成6GB吧,这是目前业界比较公认的一个合理值
89、kafka如何选择合适的GC回收器?
Kafka Broker在与客户端进行交互时会在JVM堆上创建大量的ByteBuffer实例,Heap Size不能太小。JVM端配置的另一个重要参数就是垃圾回收器的设置,也就是平时常说的GC设置。如果你依然在使用Java8,那么可以根据以下法则选择合适的垃圾回收器:
如果Broker所在机器的CPU资源非常充裕,建议使用CMS收集器。启用方法是指定-XX:+UseCurrentMarkSweepGC。否则,使用吞吐量收集器。开启方法是指定-XX:+UseParallelGC。当然了,如果你已经在使用Java9了,那么就用默认的G1收集器就好了。
在没有任何调优的情况下,G1表现得要比CMS出色,主要体现在更少的Full GC,需要调整的参数更少等,所以使用G1就好了。
90、kafka Streams是什么?
kafka Streams是kafka提供的一个进行流式处理的类库。
91、什么是流处理平台,有哪些功能特性?
流式处理平台有三种特性:
1、可以让你发布和订阅流式的记录。这一方面与消息队列或者企业消息系统类似。
2、可以储存流式的记录,并且有较好的容错性。
3、可以在流式记录产生时就进行处理。
92、如何搭建一个实时的流处理平台?