Kafka 整体介绍
简述: Kafka是一个消息中间件,一个分布式的流平台, 是Spark生态中重要的组件,支持分布式,高可用,高吞吐,多副本 是一个分布式、分区的、多副本的、多订阅者,基于zookeeper协调的分布式日志系统 Kafka的目的是通过Hadoop的并行加载机制来统一线上和离线的消息处理,也是为了通过集群来提供实时的消息。 能力: 1. 发布和订阅流数据,类似消息队列或消息系统 2. 高容错存储流数据 3. 支持处理数据流 Kafka能解决什么问题: 1. 日志收集:一个公司可以用Kafka可以收集各种服务的log,通过kafka以统一接口服务的方式开放给各种consumer,例如hadoop、Hbase、Solr等。 2. 消息系统:解耦和生产者和消费者、缓存消息等。 3. 用户活动跟踪:Kafka经常被用来记录web用户或者app用户的各种活动,如浏览网页、搜索、点击等活动,这些活动信息被各个服务器发布到kafka的topic中,然后订阅者通过订阅这些topic来做实时的监控分析,或者装载到hadoop、数据仓库中做离线分析和挖掘。 4. 运营指标:Kafka也经常用来记录运营监控数据。包括收集各种分布式应用的数据,生产各种操作的集中反馈,比如报警和报告。 5. 流式处理:比如spark streaming和storm 重要概念: Broker:Kafka集群包含一个或多个服务器