参考图书:KafkaStreams in Action 因为项目涉及到分布式流数据处理,随便在书店买了了一本看着
第一章
概念
Kafka 是由Apache软件基金会开发的一个开源流处理平台,由Scala和Java编写。Kafka是一种高吞吐量的分布式发布订阅消息系统。
参考:https://baijiahao.baidu.com/s?id=1651919282506404758&wfr=spider&for=pc
KafkaStreams是一个依赖于Kafka的Java库(lib) ,不是处理框架(framework)
常见处理框架有:Storm,Spark等。
框架是给定好的规则,开发基于某个框架就是按照框架的结构和使用规则来进行。
库是个API的集合,可以灵活调用或者自己创建。
库更轻量更灵活
批处理 处理大容量静态数据集,可基于时间分批,也可基于某一条件分批。例如每5s进行一次处理【时间】;或数据量达到1M进行处理【条件】框架Hadoop
流处理 实时处理每个事件。尽管每个新的数据都是单独处理的,但许多流处理系统也支持“窗口”操作,这些操作允许处理也引用在当前数据到达之前和/或之后在指定时间间隔内到达的数据【根据窗口内数据处理最中央的数据】。框架Storm,Samza
微批处理 分批的时间间隔更短,但不是像流处理那样基于事件,而是将批分为更小的单元,框架spark
la