网易云课堂学习- Kafka入门及使用

简介
kafka是linkedin使用scala编写的具有高水平扩展、高吞吐量的分布式消息系统。
kafka对消息保存时根据topic进行归类,发送消息者称为producer,消息接收者称为consumer,此外kafka集群由多个kafka实例组成,每个实例(server)称为broker。
无论是kafka集群还是producer和consumer都依赖zookeeper来保证系统的可用性,为集群保存一些meta信息。

主流MQ对比
在这里插入图片描述
吞吐量:kafka>rabbtimq>activemq
数据准确性:rabbitmq>activemq>kafka
kafka对集群支持很好,最少部署3台。
scala语言在大数据开发中应用较广,是函数式编程。

kafka主要特性
kafka是一个流处理平台,流平台需要如下特性。

  1. 可发布和订阅流数据,类似消息队列或企业级消息系统。
  2. 以容错的方式存储流数据。
  3. 可以在流数据产生时就处理。

kafka适合什么样的场景?

  • 基于kafka,构造实时流数据管道,让系统或应用之间可靠地获取数据。
  • 构建实时流式应用程序,处理流数据或基于数据做出反应。

相关概念-AMQP协议
是一个提供统一消息服务的标准高级消息队列协议,是应用层协议的一个开放标准,为面向消息的中间件而设计。

在这里插入图片描述
在这里插入图片描述
相关概念
在这里插入图片描述
kafka中的key并不唯一,是控制数据进入哪一个partition
数据只在一个partition中保证顺序
在这里插入图片描述
Kafka核心API

  1. producer API:
    允许一个应用程序发布一串流式的数据到一个或多个topic。

  2. consumer API:
    允许一个应用程序订阅一个或多个topic,并且对发布给它的数据进行处理。

  3. Streams API:
    允许一个应用程序作为一个流处理器,消费一个或多个topic产生的输入流,然后生产一个输出流到一个或多个topic中去,在输入输出流中进行有效的切换。

  4. Connector API:
    允许构建并运行可重用的生产者或消费者,将kafka topics连接到已存在的应用程序或者数据系统。比如,连接到一个关系型数据库,捕捉表(table)的所有变更内容。

在这里插入图片描述
在这里插入图片描述
kafka API -consumer
在这里插入图片描述
kafka整体架构
在这里插入图片描述
在这里插入图片描述
kafka使用场景
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
为什么要用流处理?
批处理存在一天的延时(一般是晚上处理)
流处理可以是实时处理的

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值