消息队列 | 青训营笔记

45 阅读1分钟

这是我参与「第五届青训营 」伴学笔记创作活动的第 13 天

消息队列概述

作用

  • 解耦
  • 削峰
  • 异步
  • 日志处理

定义

image.png

业界MQ

image.png

Kafka

如何使用Kafka

image.png

基本概念

image.png

不同的业务场景就是一个Topic。

image.png

image.png

架构

image.png

一条消息的自述

高吞吐量下的消息发送机制

  • 批量发送

image.png

  • 数据压缩

image.png

Broker

磁盘结构

image.png

顺序写

拿到消息:

image.png

偏移量索引文件

image.png

image.png

时间戳索引文件

image.png

传统数据拷贝

零拷贝

image.png

consumer

Partition如何在consumer组进行消费?

  • 手动分配:不能自动容灾,增加消费者时需要进程的启停。

image.png

  • 自动分配

image.png

kafka的缺点

  • 数据复制问题
  • 重启操作
  • 替换、扩容、缩容
  • 负载不均衡

image.png

BMQ

简介

image.png

RocketMQ

使用场景

image.png

总结

image.png

image.png