Kafka学习-简介
Kafka是由LinkedIn开发的一个分布式的消息系统,使用Scala编写,它以可水平扩展和高吞吐率而被广泛使用。目前越来越多的开源分布式处理系统如Cloudera、Apache Storm、Spark都支持与Kafka集成。 Kafka创建背景 Kafka是一个消息系统,原本开发自LinkedIn,用作LinkedIn的活动流(Activity Stream)和运营数据处理管道(Pipeline)的基础。现在它已被作为多种类型的数据管道和消息系统使用。 活动流数据是几乎所有站点在对其网站使用情况做报表时都要用到的数据中最常规的部分。活动数据包括页面访问量(Page View)、被查看内容方面的信息以及搜索情况等内容。这种数据通常的处理方式是先把各种活动以日志的形式写入某种文件,然后周期性地对这些文件进行统计分析。运营数据指的是服务器的性能数据(CPU、IO使用率、请求时间、服务日志等等数据)。 kafka作为一个集群运行在一个或多个服务器上, kafka集群存储的消息是以topic为类别记录的, 每个消息(也叫记录record,我习惯叫消息)是由一个key,一个value和时间戳构成。 核心组件 Producer :发布消息到1个或多个topic(主题)。 Comsumer :来订阅一个或多个topic,并处理产生的消息。 Streams :充当一个流处理器