Kafka(二) -- Kafka 用在哪

从 Kafak 官网介绍来看,它适用于如下七类场景

 

  • 消息分发(Messaging)
Kafka 可以替代传统的消息中间代理系统,相比之下 Kafka 有更高的吞吐量,内置的数据划分、多副本、容错机制使得它是大规模消息处理应用的一个很好选择。
这个领域里比较传统的系统是  ActiveMQ 和  RabbitMQ。
 
  • 网络行为跟踪(Website Activity Tracking)
Kafka 最早的一个使用场景就是作为实时订阅反馈系统的一部分,能够重建用户行为跟踪的流水线。通过 Kafka 把用户的网站浏览行为发布到中心主题中,通常每个行为类型一个主题。这些消息后面就可以被实时处理、实时监控或者加载到 Hadoop 集群或者离线数据仓库中。
Kafka 更适合这种场景的原因是用户的行为数据量往往非常巨大。
 
  • Metrics
Kafka 比较适合监控运营数据。
 
  • 日志聚合(Log Aggregation)
很多人用 Kafka 作为日志聚合方案,与  Scribe 和  Flume 相比,Kafka 提供同样的性能表现,更强的可靠性保证以及更低的延迟。
 
  • 流式处理(Stream Processing)
很多业务都可以抽象成数据处理的流水线。比如一个搜索引擎,数据要经过抓取、正则化、聚合、去重等步骤。现在比较流行的处理此类问题的框架是  Storm 和  Samza,这些系统现在都支持 Kafka 作为数据流实现。
 
  • 事件回源(Event Sourcing)
事件回源系统把事物的状态按时间顺序组织成一组记录,Kafka 提供的海量日志存储机制可以让它很好地支持事件回源系统的实现。
 
  • 提交日志(Commit Log)
Kafka 可以作为分布式系统的外部提交日志服务,这个服务可以帮助系统在节点间复制、同步数据,也可以在系统出错时对节点状态进行重建。
在这方面 Kafka 跟  Apache BookKeeper 项目很像。
 
 既然 Kafka 这么有用,我们来一起看下怎么 安装和使用吧。
 
 
 

你可能感兴趣的:(日志,kafka,消息队列,数据流处理)