课程咨询: 400-996-5531 / 投诉建议: 400-111-8989
认真做教育 专心促就业
随着互联网的不断发展,大数据技术在各个领域都有不同的表现形式。而今天我们就一起来了解一下大数据开发中的消息队列的使用场景。
kafka是一款开源、追求高吞吐、实时性,可持久化的流式消息队列,可同时处理在线(消息)与离线应用(业务数据和日志)。在如今火热的大数据时代,得到了广泛的应用。
整体架构
kafka的消息以Topic进行归类,支持分布式distribution、可分区partition和可复制replicated的特性。
Kafka的架构相较于其他消息系统而言,比较简单。其整体流程简述如下
Producer与指定Topic各分区Partition的Leader连接,从而将消息push到Broker中。
Broker可理解消息系统的中间代理,将消息写入磁盘实现持久化,并可对消息复制备份。
Consumer采用pull的方式主动获取broker中指定Topic的消息,并进行处理。
Zookeeper负责Kafka服务相关metadata的存储,如broker,topic和consumer等信息的存储。
消息系统
Kafka可以作为传统消息系统的替代。相比传统消息,Kafka有更高的吞吐量、拥有内置的分区Partition、复制备份高容错能力。
传统消息系统对高吞吐量没有过高要求,但kafka的低延迟特性和强大的备份容错能力是传统消息所必须的。
网站行为追踪
Kafka可用于用户行为追踪,通过将用户行为数据发送给Kafka。以此为基础,实现用户行为在线与离线分析,可用于网站实时监控与异常行为拦截等。
日志收集
Kafka可以作为日志收集解决方案。日志收集通常是将不同服务器的日志文件收集到一个中心区域,Kafka实现了对日志文件数据进行抽象,统一了处理接口。Kafka低延迟,支持不同的日志数据源,分布式消费易于扩展,可同时将数据提供给hdfs、storm、监控软件等等。
应用监控
Kafka可用于监控运行中的应用系统。如收集分布式应用的数据进行聚合计算,进行分析检测异常情况。
【免责声明】:本内容转载于网络,转载目的在于传递信息。文章内容为作者个人意见,本平台对文中陈述、观点保持中立,不对所包含内容的准确性、可靠性与完整性提供形式地保证。请读者仅作参考。