日志聚合
1、构建应用系统和分析系统的桥梁,并将它们之间的关联解耦;
2、支持实时在线分析系统和类似于 Hadoop 的离线分析系统。
Kafka本身的性能是非常高效的,同时Kafka的特性决定它非常适合作为"日志收集中心",这是因为Kafka在采集日志的时候业务是无感知的,其能够兼容自己的上游,能够直接地通过配置加密消息。当日志数据发送到Kafka集群里面,其实对于业务而言是完全无侵入的。同时其在下游又能够直接地对接Hadoop/ODPS等离线仓库存储和Strom/Spark等实现实时在线分析。在这样的情况之下,使用Kafka,只需要用户去关注整个流程里面的业务逻辑,而无需做更多的开发就能够实现统计、分析以及报表。
多路转发
1、一对多消费模型:发布/订阅”模型,支持同份数据集能同时被消费多次。
2、支持实时和批处理:支持本地数据持久化和 Page Cache,在无性能损耗的情况下能同时传送消息到实时和批处理的消费者。
对于不同业务维度,需要不同计算方式,比如对于对账系统而言,可能需要实时的流处理方式;对于统计分析而言,可能使用批计算方式。Kafka能够实现多路转发,上游生产一份数据,多个下游节点都能够获取这份数据并做出相应的处理,Kafka可完成数据多路转发功能。