美文网首页
Kafka相关定义

Kafka相关定义

作者: TlyZxj | 来源:发表于2022-08-18 23:27 被阅读0次

Kafka定义:是一个\color{red}{分布式}的基于\color{red}{发布/订阅模式}\color{red}{消息队列}(Message Queue),主要应用于大数据实时处理领域。现在被定义为是一个\color{red}{开源的分布式事件流平台}

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

试想,若 kafka是直接将消息推送给特定的订阅者,那么订阅者的消费速度怎么保证能跟得上推送的速度?面对不同的订阅者,怎么保证它们消费的速率一致?


作为消息队列,主要应用场景包括:\color{red}{缓存/消峰、解耦和异步通信}
1、缓存/消峰
有助于控制和优化数据经过系统的速度,解决生产消息和消费消息处理速度不一致的情况。
2、解耦
弱化双方的关联关系,不再要求其强依赖的关系。
假设我们要对一件事件进行解耦动作,首先我们抓住事件的主线,将分支事件进行拆解出去。主线不依赖于分支事件的执行情况,分支事件不依赖于主线的执行返回。
解耦的好处在于:

  • 提升接口的响应的 RT(异步消息队列,不再占用主线程的资源);
  • 能够提升接口的可用性(不会因为分支事件的执行失败影响主线的执行);

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

异步通信

消息队列的两种模式:

  • 点对点模式。其中包括了 poll拉模式,push推模式。
  • 发布/订阅模式


    消息队列两种模式

用 Rabbit MQ与 Kafka的相关概念进行对比的话:

Rabbit MQ Kafka
queue topic
同一个消息被多个消费者消费:往 exchange(绑定多个 queue)上推送消息 多个消费组消费同一个 topic
消费完成后就删除掉 不删除,按照一定的策略进行删除;消费后改变偏移量 offset

Kafka的基础架构:

注意看,同一个分区的 leader和 follower分布在不同的服务器 broker上,这样就能很好的避免因为某个 broker挂掉后造成服务不可用了。
一个分区只能被一个消费者进行消费,而一个消费者可以消费多个分区中的 topic消息!

Kafka的基础架构

相关文章

  • Kafka Streams相关的stream和stream pr

    本文将对Kafka Streams相关的概念进行简要介绍,主要包括Kafka Streams对数据流的定义、流处理...

  • Kafka3.x原理图解

    一、概述 (一)、kafka的定义 1、定义 1)kafka传统的定义:kafka是一个分布式的基于发布/订阅模式...

  • kafka相关

    1、查看kafka进程: 如何使用jps命令 按照官方建立zookeeper集群,出现一个问题 出现以上错误,始终...

  • Kafka相关

    关于Kafka的比较好的博客Kafka

  • Kafka相关

    Kafka简介 Kafka是一种分布式的,基于发布/订阅的消息系统。主要设计目标如下: 以时间复杂度为O(1)的方...

  • 分布式消息Kafka的原理、基础架构、使用场景

    一:Kafka简介 Apache Kafka是分布式发布-订阅消息系统,在 kafka官网上对 kafka 的定义...

  • Kafka原理详细介绍

    1 Kafka 1.1 定义 Kafka 是一个分布式流媒体平台,kafka官网:http://kafka.apa...

  • kafka常用的命令

    今天学习了一下kafka的原理以及相关命令,把kafka相关的常用命令整理出来 直接进入到kafka的bin目录下...

  • Kafka 跨集群同步方案

    该方案解决Kafka跨集群同步、创建Kafka集群镜像等相关问题,主要使用Kafka内置的MirrorMaker工...

  • kafka学习的相关网址

    1.kafka介绍以及Mac下安装使用Kafka(里面有kafka定义和功能的介绍) https://blog.c...

网友评论

      本文标题:Kafka相关定义

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