Kafka概述

简介

kafka是一种消息队列

应用场景

  • 缓冲消峰
    • 有助于控制和优化数据流经过系统的速度,解决生产消息和消费消息的处理速度不一致的情况
    • 双十一的时候,服务器只有1s中处理一千万次的能力,但系统巅峰需求为1s处理一亿,这时使用消息队列,我不管你需求多少,通通给你放进消息队列,我一次就处理一千万
      在这里插入图片描述
  • 解耦
    • 允许独立的扩展或修改两边的处理过程,只要确保他们遵守同样的接口约束
    • 消息队列相当于是 一个超市,数据源是厂家,目的地是消费者,消费着从超市里购买商品而不需要直接联系厂家
      在这里插入图片描述
  • 异步通信
    • 允许用户把一个消息放入队列,但不立即处理它,然后再需要的时候再去处理他们
    • 同步处理要把所有任务执行完成才能返回,浪费时间和资源,应该先把核心的任务做完就返回,再利用异步通信把发短信的任务放在消息队列中一个个处理
      在这里插入图片描述

消息队列的两种模式

  • 点对点模式

    • 消费者主动拉取数据,消息收到后就删除
      在这里插入图片描述
  • 发布/订阅模式

    • 可以有多个topic主题(浏览、点赞、收藏、评论),方便订阅者根据主题订阅
    • 消费者删除数据之后不会删除数据,其他消费者可以再次这个数据
    • 每个消费者相互独立,都可以消费数据

在这里插入图片描述

kafka基础架构

  • 为方便扩展,并提高吞吐量,一个topic分为多个partition
    • 每个分区只能由一个消费者消费
  • 配合分区的设计,提出消费者组的概念,组内每个消费者并行消费
  • 为提高可用性,为每个partition增加若干副本
    • 副本和本体是有区别的
    • 主体作为leader,副本作为follower
    • 生产和消费全都是在leader中发生,除非leader挂掉,follower有机会上位成leader
  • zookeeper
    • 记录哪几台服务器上线 broker就是服务器
    • 记录存储的哪个是leader哪个是fower
      在这里插入图片描述
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值