[ 消息队列原理与实战| 青训营笔记]

71 阅读1分钟

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

走进消息队列

案例一:系统崩溃

image.png

案例二:服务能力有限

image.png

案例三:链路耗时长

image.png

案例四:日志存储

image.png

什么是消息队列

保存消息的一个容器,本质是个队列。但这个队列呢,需要支持高吞吐,高并发,并且高可用

消息队列的发展历程

image.png

业内消息队列的对比

image.png

Kafka

使用场景

image.png

如何使用

graph TD
创建集群 --> 新增Topic --> 编写生产者逻辑 --> 编写消费者逻辑

基本概念

image.png

Offset

消息在 partition 内的相对位置信息,可以理解为唯-ID,在 partition 内部严格递增

image.png

Replica

每个分片有多个 Replica,Leader Replica 将会从 ISR 中选出

image.png

数据复制

image.png

Kafka框架

image.png

Producer-批量发送

image.png

Producer-数据压缩

image.png

Broker-数据的存储

image.png

Broker 消息文件结构

image.png

Broker-磁盘结构

磁盘转动,找到对应扇区,最后写入。寻道成本比较高,因此顺序写可以减移动磁头找到对应磁道,少寻道所带来的时间成本

image.png

Broker-顺序写

image.png