消息队列前世今生(2月9日) | 青训营笔记

77 阅读2分钟

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

一、本堂课重点内容:

1. 基本概念
2. 消息队列-Kafka
3. 消息队列-BMQ
4. 消息队列-RocketMQ

二、详细知识点介绍:

1. 基本概念
消息队列是什么
  • 解耦
  • 削峰
  • 异步
  • 日志处理
消息队列的前世今生
2. 消息队列-Kafka
  • kafka使用场景:

    • 搜索服务

    • 直播服务

    • 订单服务

    • 支付服务

    • 业务日志

    • 用户行为数据

    • Metrics数据

  • 使用方法:

    • 创建集群
    • 新增Topic
    • 编写生产者逻辑
    • 编写消费者逻辑
  • 基本概念

    • Producer、Cluster、Consumer、Topic、Partition

      image.png

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

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

kafa架构:

1676129800891.jpg

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

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端逻辑

三、实践练习例子

消息队列在字节

一些最佳实践的场景,包括数据展示

四、课后个人总结:

经过本次课程的学习,我了解了消息队列的概念,学到了很多有用的知识,了解了不同的消息队列组件,在今后的学习中,我将学习更多的知识,积极运用所学的知识,创造更好的系统,提高自己的学习意识。

五、引用参考: