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