这是我参与「第五届青训营 」伴学笔记创作活动的第 13 天
一、本堂课重点内容:
1. 基本概念
2. 消息队列-Kafka
3. 消息队列-BMQ
4. 消息队列-RocketMQ
二、详细知识点介绍:
1. 基本概念
消息队列是什么
- 解耦
- 削峰
- 异步
- 日志处理
消息队列的前世今生
2. 消息队列-Kafka
-
kafka使用场景:
-
搜索服务
-
直播服务
-
订单服务
-
支付服务
-
业务日志
-
用户行为数据
-
Metrics数据
-
-
使用方法:
- 创建集群
- 新增Topic
- 编写生产者逻辑
- 编写消费者逻辑
-
基本概念
-
Producer、Cluster、Consumer、Topic、Partition
-
Offset:消息在partition内的相对位置信息,可以理解为唯一ID,在partition内部严格递增。
Replica:每个分片有多个Replica,Leader Replica将会从ISR中选出。
kafa架构:
一条消息从生产到消费是如何处理的
Producer-批量发送 数据压缩
Broker
- 数据存储
- 消息文件结构
- 磁盘结构
- 顺序写
- 如何找到消息
- 偏移量索引文件
- 时间戳索引文件
- 传统数据拷贝
- 零拷贝
Consumer
- 消息端的接受
- Low level
- High level
- Rebalance
3. 消息队列-BMQ
Kafka在使用中遇到问题
BMQ架构
BMQ各模块是如何工作的,Broker、Proxy、HDFS、MetaStorage
BMQ多机房容灾
4. 消息队列-RocketMQ
RocketMQ使用场景
RocketMQ和Kafka对比
RocketMQ架构介绍,Producer、Broker、Nameserver、Consumer
一条消息从生产到消费是如何处理的,Producer端逻辑、Broker端逻辑、Consumer端逻辑
三、实践练习例子
消息队列在字节
一些最佳实践的场景,包括数据展示
四、课后个人总结:
经过本次课程的学习,我了解了消息队列的概念,学到了很多有用的知识,了解了不同的消息队列组件,在今后的学习中,我将学习更多的知识,积极运用所学的知识,创造更好的系统,提高自己的学习意识。
五、引用参考:
-
参考字节跳动青训营基础班学习资料PPT
-
参考文献