Kafka(一):概述

1. Kafka定义

  1. 传统定义:kafka是一个分布式的基于发布/订阅模式的消息队列
  2. 发布/订阅:消息的发布者不会将消息直接发送给特定的订阅者,而是将发布的消息分为不同的类别,订阅者只接收感兴趣的消息
  3. 最新定义:kafka是一个开源的分布式事件流平台,被多家公司用于高性能、流分析、数据集成和关键任务应用

2. 传统消息队列应用场景

  1. 缓存/消峰
    有助于控制和优化数据流经系统的速度,解决生产者和消费者处理速度不一致的情况
    在这里插入图片描述
    在这里插入图片描述

  2. 解耦
    允许独立的扩展和修改两边的处理过程,只要确保它们遵守同样的接口约束

  3. 异步通信
    允许用户把一个消息放入队列,但并不立即处理它,然后在需要的时候去处理它
    在这里插入图片描述

3. 消息队列的两种模式

  1. 点对点模式
    消费者主动拉取数据,消息收到后清除消息

  2. 发布/订阅模式
    (1)可以有多个topic主题
    (2)消费者消费数据后,不删除数据
    (3)每个消费者相互独立,都可以消费到数据

4. kafka名词说明

  1. producer: 消息生产者
  2. consumer: 消息消费者
  3. consumer group: 消费者组,由多个consumer组成。消费者组内每个消费者负责消费不同分区的数据,一个分区只能由一个组内的一个消费者消费;但消费者组中的一个消费者可以消费多个分区;消费者组之间互不影响。
  4. Broker: 一台kafka服务器就是一个broker,一个集群由多个broker组成。
  5. topic:可以理解为一个队列,生产者和消费者面向的都是同一个topic
  6. partition(分区): 为实现扩展性,一个非常大的topic可以分布到多个broker(服务器)上,一个topic可以分为多个分区(partition),每个分区是一个有序的队列
  7. replica(副本):一个topic的每个分区都有若干个副本,即一个leader和若干个follower
  8. leader:每个分区多个副本的"主",生产者发送数据和消费者消费数据的对象都是leader
  9. follower:每个分区多个副本的"从",实时从leader中同步数据。保持和leader数据的同步。leader发生故障时,某个follower会成为新的leader
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值