大数据面试题:介绍下Kafka,Kafka的作用?Kafka的组件?适用场景?

本文涉及的产品
云原生大数据计算服务 MaxCompute,5000CU*H 100GB 3个月
云原生大数据计算服务MaxCompute,500CU*H 100GB 3个月
简介: Kafka的作用?Kafka的组件?适用场景?

Kafka是一种分布式、高吞吐量的分布式发布订阅消息系统,它可以处理消费者规模的网站中的所有动作流数据,主要应用于大数据实时处理领域。简单地说,Kafka就相比是一个邮箱,生产者是发送邮件的人,消费者是接收邮件的人,Kafka就是用来存东西的,只不过它提供了一些处理邮件的机制。

1、作用

1)发布和订阅消息流

2)以容错的方式记录消息流,kafka以文件的方式来存储消息流

3)可以在消息发布的时候进行处理

2、优势

高吞吐量、低延迟:kafka每秒可以处理几十万条消息,它的延迟最低只有几毫秒;

可扩展性:kafka集群支持热扩展;

持久性、可靠性:消息被持久化到本地磁盘,并且支持数据备份防止数据丢失;

容错性:允许集群中节点故障(若副本数量为n,则允许n-1个节点故障);

高并发:支持数千个客户端同时读写。

3、组件

image.gif编辑

Topic :可以理解为一个队列,生产者和消费者面向的都是一个 topic;

Producer :消息生产者,就是向 kafka broker 发消息的客户端;

Consumer:消息消费者,向 kafka broker 取消息的客户端;

Broker :一台 kafka 服务器就是一个 broker。一个集群由多个 broker 组成。一个 broker可以容纳多个 topic。

4、使用场景

1)在系统或应用程序之间构建可靠的用于传输实时数据的管道,消息队列功能

2)构建实时的流数据处理程序来变换或处理数据流,数据处理功能

通俗一点来说

日志收集:一个公司可以用Kafka可以收集各种服务的log,通过kafka以统一接口服务的方式开放给各种consumer;

消息系统:解耦生产者和消费者、缓存消息等;

用户活动跟踪:kafka经常被用来记录web用户或者app用户的各种活动,如浏览网页、搜索、点击等活动,这些活动信息被各个服务器发布到kafka的topic中,然后消费者通过订阅这些topic来做实时的监控分析,亦可保存到数据库;

运营指标:kafka也经常用来记录运营监控数据。包括收集各种分布式应用的数据,生产各种操作的集中反馈,比如报警和报告;

流式处理:比如Spark streaming和Flink。

相关文章
|
4天前
|
消息中间件 存储 负载均衡
Kafka面试题及答案
Kafka面试题及答案
|
7天前
|
消息中间件 数据采集 关系型数据库
大数据-业务数据采集-FlinkCDC 读取 MySQL 数据存入 Kafka
大数据-业务数据采集-FlinkCDC 读取 MySQL 数据存入 Kafka
26 1
|
28天前
|
消息中间件 算法 Kafka
面试题Kafka问题之Kafka的副本消息同步如何解决
面试题Kafka问题之Kafka的副本消息同步如何解决
40 4
|
27天前
|
分布式计算 MaxCompute 计算机视觉
ODPS问题之odps.sql.mapper.split.size属性有什么作用,以及如何根据场景调整它
ODPS问题之odps.sql.mapper.split.size属性有什么作用,以及如何根据场景调整它
|
6天前
|
消息中间件 存储 Kafka
现代消息队列与云存储问题之Kafka在海量队列场景下存在性能的问题如何解决
现代消息队列与云存储问题之Kafka在海量队列场景下存在性能的问题如何解决
|
28天前
|
消息中间件 存储 缓存
面试题Kafka问题之Kafka的生产消费基本流程如何解决
面试题Kafka问题之Kafka的生产消费基本流程如何解决
31 1
|
28天前
|
消息中间件 Kafka 数据库
面试题Kafka问题之Kafka中的消息(Message)定义如何解决
面试题Kafka问题之Kafka中的消息(Message)定义如何解决
19 1
|
28天前
|
消息中间件 Kafka
面试题Kafka问题之Kafka【线上】积压消费如何解决
面试题Kafka问题之Kafka【线上】积压消费如何解决
15 0
|
28天前
|
消息中间件 算法 NoSQL
面试题Kafka问题之Kafka保证系统的可用性如何解决
面试题Kafka问题之Kafka保证系统的可用性如何解决
26 0
|
28天前
|
消息中间件 Kafka 数据库
面试题Kafka问题之查看偏移量为23的消息如何解决
面试题Kafka问题之查看偏移量为23的消息如何解决
14 0