发布时间:2023-06-11 19:30
首先,这是一篇干货满满的文章,学海无涯,愿你拥有耐心。
Apache Kafka是一个开源消息系统,由Scala和Java写成。是由Apache软件基金会开发的一个开源消息系统项目。最初是由LinkedIn开发,并于2011年初开源。2012年10月从Apache Incubator毕业。该项目的目标是为处理实时数据提供一个统一、高通量、低等待的平台。
Kafka官网:Apache Kafka
最初设计的目的是作为LinkedIn的活动流和运营数据的处理管道。这些数据主要是用来对用户做用户画像分析以及服务器性能数据的一些监控。所以kafka一开始设计的目标就是作为一个分布式、高性能、高吞吐量的消息系统,所以适合运用在大数据传输场景。kafka的简单定义:分布式的基于发布订阅的消息系统,它的特性如下:
以时间复杂度为O(1)的方式提供消息持久化能力,即使对TB级以上数据也能保证常数时间复杂度的访问性能。
高吞吐率:即使在非常廉价的商用机器上也能做到单机支持每秒100K条以上消息的传输。
支持Kafka Server间的消息分区,及分布式消费,同时保证每个Partition内的消息顺序传输。
同时支持离线数据处理和实时数据处理。
Scale out:支持在线水平扩展。