课程笔记:走进消息队列 | 青训营

110 阅读1分钟

本文记录了第六届字节跳动后端青训营《走进消息队列》课程中的主要内容,包括消息队列的使用案例、发展历史,并且介绍了常用的消息队列Kafka、BMQ和RocketMQ的功能

使用消息队列的例子

案例一:系统崩溃

浏览直播间时,app会记录我们的存储记录,但当存储记录被删除(删库跑路)时,整个过程会卡住
解决方案:解耦

案例二:服务能力有限

请求量过于庞大,服务器同时只能处理一部分请求
解决方案:削峰 每次只获取部分请求

案例三:链路耗时长尾

处理流程时间过长
解决方案:异步

案例四:日志存储问题

解决方案:日志处理 使用消息队列把日志写到一些搜索引擎( eg.ES )里

消息队列的发展历史

TIB 诞生于 1985 年,主要服务金融和新闻机构
微软加入于1997年 MSMQ
JMS 只能用于 Java API
2004 年,规范发布,任何人都能参与和使用消息队列

业界常用消息队列

  • Kafka 分布式、分区、多副本的日志提交服务,适合 高吞吐 场景
  • RocketMQ (阿里使用)适用于 实时场景,低延迟、高性能、容量大且扩展灵活
  • Pulsar 下一代云原生分布式消息流平台 存算分离
  • BMQ (字节用)类似 Pulsar ,替换Kafka集群,承接 高吞吐的离线业务场景

Linux