课程咨询: 400-996-5531 / 投诉建议: 400-111-8989
认真做教育 专心促就业
Kafka是程序员会经常用到的一个分布式架构系统,下面我们就通过案例分析来了解一下,Kafka的优势与应用场景都有哪些。
1、Kafka的优势
高吞吐量:单机每秒处理几十上百万的消息量。即使存储了许多的消息,它也保持稳定的性能。
高性能:单节点支持上千个客户端,并保证零停机和零数据丢失。
持久化数据存储:将消息持久化到磁盘。通过将数据持久化到硬盘以及防止数据丢失。(零拷贝、顺序读,顺序写、利用的页缓存)
分布式系统,易于向外扩展。所有的Producer、Broker和Consumer都会有多个,均为分布式的。无需停机即可扩展机器。多个Producer、Consumer可能是不同的应用。
可靠性:Kafka是分布式、分区、复制和容错的。
客户端状态维护:消息被处理的状态是在Consumer端维护,而不是由server端维护。当失败时能自动平衡。
支持online和offline的场景
支持多种客户端语言。Kafka支持Java、.NET、PHP、Python等多种语言。
2、Kafka的应用场景
日志收集
Kafka可以收集各种服务的Log,通过Kafka以统一接口服务的方式开放给各种Consumer。
消息系统
解耦生产者和消费者、缓存消息等。
用户活动跟踪
Kafka经常被用来记录Web用户或者App用户的各种活动,如浏览网页、搜索、点击等活动。
这些活动信息被各个服务器发布到Kafka的Topic中,然后消费者通过订阅这些Topic来做实时的监控分析,亦可保存到数据库。
运营指标
Kafka也经常用来记录运营监控数据。包括收集各种分布式应用的数据,生产各种操作的集中反馈,比如报警和报告。
流式处理
比如SparkStreaming和Storm。
【免责声明】本文系本网编辑部分转载,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。如涉及作品内容、版权和其它问题,请在30日内与管理员联系,我们会予以更改或删除相关文章,以保证您的权益!更多内容请加danei0707学习了解。欢迎关注“达内在线”参与分销,赚更多好礼