【day14】消息队列原理与实战 | 青训营笔记

80 阅读1分钟

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

资料五

要点:

  • 消息队列的前世今生
  • 消息队列-Kafka
  • 消息队列-BMQ
  • 消息队列-RocketMQ
  • 企业最佳实践
课程1-消息队列前世今生

四个场景:

a.系统崩溃:解耦

b.服务处理能力有限:削峰

c.链路耗时长尾:异步

d.日志如何处理:存到消息队列中

课程2-消息队列-Kafka

Producer:批量发送、数据压缩

Broker:顺序写、消息索引、零拷贝

Consumer:Rebalance

缺点:

a.运维成本高

b.对于负载不均衡的场景,解决方案复杂

c.没有自己的缓存,完全依赖page chche

d.Controller和Coordinator和Broker在统一进程,大量IO会造成其性能下降

课程3-消息队列-BMQ

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

原生SDK问题:

a.客户端配置较为复杂

b.不支持动态配置,更改配置需要停掉服务

c.对于延迟不敏感的业务,batch效果不佳

内容小结:

a.BMQ的模型架构(解决kafka存在的问题)

b.BMQ读写流程(Failover机制,写入状态机)

c.BMQ高级特性(泳道、DataBus、Mirror、Index、Parquet)

课程4-消息队列-RocketMQ