Kafka使用场景
- 日志收集
日志服务器—>flume – > kafka—>实时/离线处理!
在实际工作中, 系统和应用程序都会产生大量的日志。为了方便管理这些日志,可以利用Kafka 将这些零散的日志收集到Kafka 集群中,然后通过Kafka 的统一接口将这些数据开放给不同的消费者(Consumer) 。统一接口包括: Hadoop 的应用接口、HBase 的应用接口、ElasticSearch的应用接口等。
- 消息系统
线上业务流量很大的应用,可以使用Kafka 作为缓冲, 以减少服务端的压力。这样能够有效地解耦生产者(Producer)和消费者(Consumer),以及缓冲消息数据。
- 用户轨迹
可使用Kafka 记录浏览器用户或者手机App 用户产生的各种记录,例如浏览的网页、搜索的内容、点击的内容等。
这些用户活动信息会被服务器收集到Kafka 集群中进行存储,然后消费者通过“消费”这些活动数据来做实时分析,或者加载到Hive 数据仓库做离线数据分析与挖掘。
- 记录运营监控数据
Kafka 也可用来记录运营监控数据,包括收集各种分布式应用系统的数据(如Hadoop 系统、Hive 系统、HBase 系统等)。
- 实现流处理
数据---- > kafka—>实时处理!
Kafka 是一个流处理平台,所以在实际应用场景中也会与其他大数据套件结合使用,例如Spark Streaming 、Flink 等。
- 事件源
事件源是一种应用程序的设计风格,其中状态更改会产生一条带有时间戳的记录,然后将这条以时间序列产生的记录进行保存。在面对非常大的存储数据时,可以使用这种方式来构建非常优秀的后端程序。
在实际开发中,Kafka通常作为一个统一的实时的数据接入源
也就是说:在大数据系统中, 实时数据都可以通过Kafka来将数据接入到大数据集群!