Kafka的基本介绍

kafka-基础介绍

  • 定义
    传统定义: kafka 是一个分布式的基于发布/订阅模式的消息队列(Message Queue), 主要用于大数据实时处理领域
    最新定义: kafka是一个开源的分布式事件流平台(Event Streaming Platform), 被数千家公司用于高性能数据管道 流分析 数据集成和关键任务应用

  • 发布/订阅
    消息的发布者不会将消息直接发送给特定的订阅者,而是将发布的消息分为不同的类别,订阅者只接收感兴趣的消息

  • 常用的消息队列
    目前企业常用的消息队列 Kafka ActiveMQ RabbitMQ RocketMQ
    在大数据场景主要使用kafka, 在JavaEE开发中主要使用ActiveMQ RabbitMQ RocketMQ

  • 传统消息队列的主要应用场景包括: 缓存/削峰 解耦和异步通信

  • 消息对列的两种模式
    点对点 : 由生产者将消息发送到消息队列,再由消费者主动获取数据,确认消息消费成功后队列删除该条消息
    发布/订阅 : 可以有多个topic主题.生产者将不同的消息发送到多个主题,消费者消费数据后不删除数据,每个消费者互相独立,都可以消费到同一主题的数据,也可以消费到不同主题的数据

kafka的基础架构

  • 生产者(producer) : 用来对接外部传进来的数据
  • 消费者(consumer) : 用来消费kafka的数据
  • 主题(Topic) : 存储各种数据的地方
  • 数据分区(partition) :将topic中的数据分块存储
  • 消费者组(group) : 将多个消费者放在同一个组内,用来消费同一个主题下的数据,组内每一个消费者分别对应一个数据分区
  • 副本 : 若某个分区突然宕机导致数据异常或丢失,所以kafka可以给每个分区做副本备份,副本有leader和follower之分,消费者和生产者操作数据是只操作leader中的数据,当leader挂掉后,follower会成为新的leader提供数据

在kafka2.8.0之前会配合zookeeper使用,在2.8.0之后kafka逐渐抛弃zookeeper,变为可选使用

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值