15_消息队列
2021-08-29 08:53:24 24 举报
AI智能生成
登录查看完整内容
消息队列,知识梳理
作者其他创作
大纲/内容
核心工作原理
集群化部署
海量消息分布式存储
高可用:主从架构
数据路由:NameServer
架构原理
Peer集群化部署
Broker无差别注册机制
客户端路由机制
Broker长连接与心跳感知
NameServer
Master-Slave同步机制
读写分离机制
Master/Slave宕机后的处理
Dledger主从自动切换
Broker
生产者、消费者
生产部署方案
生产压测方案
同步发送:生产者发送消息,同步阻塞等待返回结果;适合可靠性高,不丢消息的场景,但是吞吐量低
异步发送:生产者发送消息,不阻塞,异步回调获取发送结果;适合吞吐量高,允许消息丢失的场景
单向发送:生产者发送消息,直接返回,不阻塞,没有返回结果;适合高吞吐量,不在意发送结果,只发送一次的场景
消息发送模式
push模式:broker主动向消费者推送消息
pull模式:消费者主动向broker发送请求拉取消息
消息消费模式
消息发送/消费模式
底层工作原理
发送消息网络抖动
事务消息机制
重试机制
发送消息丢失
消息没有刷入磁盘
磁盘损坏
同步刷盘 + Raft协议主从同步
Broker消息丢失
自动提交offset
小心多线程处理消息,自动提交offset
手动提交offset
Consumer消息丢失
消息丢失
生产者重复推送消息
消费者重复消费消息
什么是幂等
业务判断法,查询MQ中是否以及有消息存在,性能很差
状态判断法,基于Redis缓存的幂等机制,无法达到100%的可靠性
其实这个阶段可以不做判断
生产者推送消息阶段
业务判断法,保证不会重复处理消息
消费者消费消息阶段
幂等机制
重复消息
顺序消息
事务消息
RocketMQ
Kafka
特殊业务场景遇到技术挑战
解耦
耗时操作
性能
用户体验
异步
削峰
为什么要用消息队列
消息队列崩溃
系统可用性降低
消息重复消费
消息顺序
消息堆积
系统复杂性提高
一致性问题
消息队列有什么缺点
技术选型
消息队列
收藏
收藏
0 条评论
回复 删除
下一页