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

98 阅读2分钟

这是我参与「第五届青训营」笔记创作活动的第 13 天。笔记旨在记录自己的学习过程以及跟更多人分享交流,重点讲干货,不扣细节,从整体认知。废话不多说,上内容!!!

本堂课重点内容

  1. 消息队列的前世今生
  1. 消息队列-Kafka
  1. 消息队列-BMQ
  1. 消息队列-RocketMQ
  1. 最佳实践

详细知识点介绍

消息队列的前世今生

1.png

2.png

消息队列-Kafka

kafka 使用场景

3.png

如何使用 Kafka

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

基本概念

4.png Offset : 消息在partition内的相对位置信息,可以理解为唯一ID,在partition内部严格递增。

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

数据复制

5.png

Kafka 架构

6.png

一条消息从生产到消费是如何处理的

Producer端逻辑 : 批量发送、数据压缩

Broker端逻辑 : 数据的存储、消息文件结构、磁盘结构、顺序写、如何找到消息、偏移量索引文件、时间戳索引文件、传统数据拷贝、零拷贝

Consumer端逻辑 : 消息的接收端、Low Level、High Level、

其他

数据复制问题

重启操作

替换、扩容、缩容

负载不均衡

消息队列-RocketMQ

兼容Kafka协议,存算分离,云原生消息队列

1.png

2.png

消息队列-RocketMQ

使用场景

例如,针对电商业务线,其业务涉及广泛,如注册、订单、库存、物流等;同时,也会涉及许多业务峰值时刻,如秒杀活动、周年庆、定期特惠等

3.png

4.png

实践练习例子

6.png

课后个人总结

  1. 我对本课程是比较熟悉的,对于 Kafka 框架的使用比较熟悉,所以听这个课压力比较小;
  2. 学会一种框架,对于其他一些衍生出来的框架也比较容易掌握;

引用参考

  1. 稀土掘金字节内部课
  2. 走进消息队列
  3. 后端专场 学习资料五 第五届字节跳动青训营