美文网首页
Kafka概述 (3.x/2023)

Kafka概述 (3.x/2023)

作者: 这货不是王马勺 | 来源:发表于2023-10-31 13:17 被阅读0次

    一.Kafka定义

    1.kafka传统定义:
    kafka是一个分布式的基于发布/订阅模式的消息队列(Message Queue),主要应用于大数据实时处理领域
    发布/订阅:消息的发布者不会将消息直接发给指定的订阅者,而是将发布的消息分为不同的类别,订阅者只接收感兴趣的消息。

    2.Kafka 最新定义:
    Kafka 是一个开源的分布式事件流平台(Event Streaming Platform),被数千家公司用于高性能数据管道、流分析、数据集成和关键任务应用。

    二.消息队列

    目前企业中比较常见的消息队列产品主要有 Kafka、ActiveMQ、RabbitMQ、RocketMQ等

    在大数据场景主要采用Kafka 作为消息队列,在JaveEE 开发主要采用AvtiveMQ、RabbitMQ、RocketMQ。

    传统消息队列的应用场景
    传统消息队列的应用场景:缓冲/削峰、解耦和异步通信
    缓冲、削峰:有助于控制和优化数据流经过系统的速度,解决生产消息和消费消息不一致的情况

    解耦:
    允许你独立的扩展或修改两边的处理过程,只要确保他们遵守同样的接口约束

    异步通信:
    允许用户把一个消息放入队列,但并不立即处理它,然后在需要的时候再去处理他们

    三、消息队列的两种模式

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

    2.发布/订阅模式(主流)
    可以有多个topic主题(浏览、点赞、收藏、评论等)
    消费者消费数据之后,不删除数据
    每个消费者相互独立,都可以消费到数据

    四.基础架构

    1.一个topic分为多个分区;
    2.一个分区的数据,在消费者组内只能由一个消费者消费;
    3.每个分区多个副本;
    4.在zk中指定leader,2.8.0后可以不用zk(kraft模式),未来的趋势是kafka逐渐抛弃zookeeper,因为zookeeper已成为瓶颈;
    消费者只能从leader中消费数据,当leader挂了后,follower有条件成为新leader;

    视频来源:

    https://www.bilibili.com/video/BV1vr4y1677k?p=2&vd_source=adbe4dade12efbb9aa6895c308f74a54
    

    相关文章

      网友评论

          本文标题:Kafka概述 (3.x/2023)

          本文链接:https://www.haomeiwen.com/subject/iqusidtx.html