大数据完整教程之Kafka入门简介

大数据技术框架当中,涉及到多个生态系统组件,根据不同的数据处理需求,给出相应的解决方案,各个组件之间共同配合,共同完成大数据处理的整个任务流程。今天的大数据完整教程,我们为大家带来Kafka入门简介。

根据官方的定义,Kafka是一个分布式流平台,而流平台的关键功能有是三个:发布和订阅记录流,类似于消息队列或企业消息传递系统、以容错的持久方式存储记录流、处理记录流。当然,这也就是Kafka主要的作用。
 

大数据完整教程


Kafka可以理解为一个实时数据处理系统,具有高可靠性,支持横向扩展,且速度快,因为被企业信赖。在kafka当中,数据一旦产生,就要能快速进行处理,最常见的就是消息中间件。

消息中间件的作用主要有两点:一是解耦消息的生产和消费,二是缓冲。

消息中间件之所以可以解耦消息的生产和消费,主要是它提供了一个存放消息的地方——生产者把消息放进来,消费者在从中取出消息进行处理。

那么这个存放消息的地方,应该采用什么数据结构呢?

在绝大多数情况下,我们都希望先发送进来的消息,可以先被处理(FIFO),这符合大多数的业务逻辑,少数情况下我们会给消息设置优先级。不管怎样,对于消息中间件来说,一个先进先出的队列,是非常合适的数据结构:

那么要怎样保证消息可以被顺序消费呢?

消费者过来获取消息时,每次都把index=0的数据返回过去,然后再删除index=0的那条数据?

很明显不行,因为订阅了这条消息的消费者数量,可能是0,也可能是1,还可能大于1。如果每次消费完就删除了,那么其他订阅了这条消息的消费者就获取不到这条消息了。

事实上,Kafka会对数据进行持久化存储(至于存放多长时间,这是可以配置的),消费者端会记录一个offset,表明该消费者当前消费到哪条数据,所以下次消费者想继续消费,只需从offset+1的位置继续消费就好了。消费者甚至可以通过调整offset的值,重新消费以前的数据。

以上就是大数据完整教程之Kafka入门简介了,Kafka在大数据系统当中的应用非常普遍,作为消息中间件,起到关键性的作用,在学习阶段也牢牢掌握下来。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值