40 | Kafka Streams与其他流处理平台的差异在哪里?
该思维导图由 AI 生成,仅供参考
什么是流处理平台?
- 深入了解
- 翻译
- 解释
- 总结
Kafka Streams与其他流处理平台的差异在于其轻量级的特点。作为一个Java客户端库,Kafka Streams不提供完整的功能,如调度器和资源管理器,更倾向于将部署交给开发人员来处理。另外,Kafka Streams目前只支持与Kafka集群进行交互,缺乏对外部数据源的直接支持。相比之下,其他流处理平台如Spark Streaming和Flink集成了丰富的上下游数据源连接器,并提供完整的部署方案和资源管理器。在分布式协调方面,Kafka Streams应用依赖于Kafka集群提供的协调功能,实现了高容错性和高伸缩性。而在消息语义保障方面,Kafka Streams天然支持端到端的EOS,而其他框架需要依赖Kafka的事务机制来实现。总的来说,Kafka Streams的轻量级特点使其在某些场景下更为便捷,但读者在选择流处理平台时需要考虑其特点和适用场景。
《Kafka 核心技术与实战》,新⼈⾸单¥68
全部留言(19)
- 最新
- 精选
- 沧海一粟分不太清streams和直接启动consumer消费有什么区别?都是实时的呀。
作者回复: Kafka Streams是实时流处理组件,默认提供了很多算子,组合在一起可以实现较为复杂的流处理逻辑。Consumer只是单纯的消费者组件,没有这些算子。另外Consumer也不能保证EOS和operator状态管理等常见的流处理框架提供的功能
2020-04-1914 - hunterlodge老师,我一直没理解流处理的正确性是什么,既然是处理无限的数据,那又怎么可以和批处理来比较呢?好比我们无法比较一个无限整数集合的sum以及一个有限整数集合的sum呢?
作者回复: 无限数据集也可以按照时间线进行窗口化切分,那么我们就关心每个窗口的实时计算结果是否能够和离线计算这段时间内的结果匹配上
2019-11-07210 - 小刀留言好少,我加一个场景,我在用stream关联应用日志和istio的open tracing调用链日志
作者回复: 👍
2020-05-1925 - sipombatch、streaming区别的图非常形象👍
作者回复: Thanks, man:)
2020-03-224 - 火锅小王子老师好,请教下,kafka stream模型底层有应该也是采用拉模型的方式吧,这样的话还是一个轮训的过程,也就是实际上不是属于那种真正的流数据吧 ?
作者回复: push还pull不影响真正的流处理
2021-04-271 - 吴宇晨想问老师对新出的ksql有什么看法
作者回复: 个人感觉市场定位不是很清晰。大数据工程师本身不会用,而对于纯数据分析人员门槛又有点高。
2019-09-051 - 时彬斌老师好,请问有好用的golang版的处理streams的库推荐吗,目前用的kasper
作者回复: 对golang的客户端确实不太了解。。。
2021-01-13 - 长脖子树配图 好评 哈哈哈
作者回复: 哈哈哈,谢谢~
2020-06-17 - Hello world老师,你使用有bug的connector是官方的还是自己写的呢?kafka stream如果要写入其他数据源,是不是就得开发自己的connector呢?
作者回复: 不是官方的,是个人写的。目前Confluent公司在给各个connector做认证。我使用的时候还是比较久远的年代。。。
2019-09-11 - 轶单纯从功能角度来看,Flink 等标准的大数据处理框架肯定是胜过 kafka streams 的。但按照 Confluent CTO 的说法,二者之间的最大区别是:“Flink 和 Kafka Streams 程序之间的根本区别在于它们的部署和管理方式。” 怎么理解这句话呢?一般来说 Flink 等大数据处理平台都是由公司的大数据团队部署和管理的,如果某个应用项目中的部分处理逻辑需要依赖于这些大数据处理平台的话,那必然涉及团队间的协作问题,很多时候这比技术问题本身还难以解决😅。但是如果相关处理不是很复杂的话,其实完全可以通过 Kafka streams 来解决,因此应用研发团队可以完全掌控相关的代码和部署,从而能够快速响应需求变化。2020-07-232