高并发秒杀公平不超卖-消息MQ架构体系(优化版)
2024-01-24 11:07:46 0 举报
AI智能生成
体系架构
作者其他创作
大纲/内容
第四章:总结
第三章:Kafka在秒杀场景下进阶
Kafka基础知识回顾
kafka架构回顾
环境搭建以及测试
Kafka消息可靠性传输
第一种情况
场景描述:消费端消息丢失
位移提交
解决方案:手动offset提交
第二种情况
场景描述
Kafka消息的发送流程
Kafka消息的发送方式
发后即忘
同步消息发送
异步消息发送
解决方案
replication.factor
Kafka集群
acks
Kafka秒杀公平性保证
Kafka消息顺序性说明
Kafka消息顺序错乱测试
Kafka保证消息顺序性保障
Kafka秒杀不超卖保证
生产端消息重复
问题描述
解决方案
生产端启用幂等性
retries = 0
相关知识:事务机制
消费端消息重复
手动位移提交
下游业务做幂等性处理
Kafka消息队列高可用
集群搭建
zookeeper集群搭建
Kafka集群搭建
Kafka集群测试
Kafka集群监控
Kafka Eagle
Kafka为什么快?
分区管理
副本机制
分区leader选举
分区重新分配
修改副本因子
kafka存储
存储结构介绍
消息顺序写入
页缓存
日志清理
零拷贝技术
第一章:秒杀以及常见的消息队列介绍
秒杀介绍
何为"秒杀"及其特点
秒杀介绍
特点介绍
定时触发,流量在瞬间突增
子主题
秒杀请求中常常只有部分能够成功
秒杀商品数量往往有限,不能超卖,但能接受少卖
不要求立即返回真实下单结果
秒杀流程介绍
秒杀流程-收单
秒杀流程-下单
秒杀业务流程图
常见的消息队列比对
资料文档
开发语言
支持的协议
消息存储
事务消息
管理界面
消息重复
吞吐量
顺序消息
消息确认
第二章: RabbitMQ在秒杀场景下应用
RabbitMQ基础知识回顾
RabbitMQ架构回顾
amqp协议介绍
amqp生产者流转过程
amqp消费者流转过程
amqp命令概览
交换机的类型
fanout
direct
topic
headers
RabbitMQ环境搭建以及测试
RabbitMQ在订单未支付时的库存回退保障
库存回退架构
过期时间
设置消息的TTL
设置队列的TTL
死信队列
原理介绍
具体实现
RabbitMQ消息可靠性传输
第一种情况
场景描述:保存在RabbtitMQ 服务端的消息丢失
解决方案:消息持久化处理
相关知识:消息存储机制
存储机制
队列索引(rabbit_queue_index)
消息存储(rabbit_msg_store)
msg_store_persistent
msg_store_transient
队列的结构
rabbit_amqqueue_process
backing_queue
队列消息的状态
alpha: 消息内容(消息体,属性和headers)和消息索引都存储在内存中
beta:消息内容保存到磁盘中,消息索引保存到内存中
gamma:消息内容保存在磁盘中,消息索引在磁盘和内存中都有
delta:消息内容和索引都在磁盘中
消息堆积的解决方案
增加prefetch_count的值,一次发送多条消息给消费者
multiple ack:降低ack带来的开销
惰性队列
特点:尽可能的将消息存储到磁盘中,在消息消费的时候在将其加载到内存中
设计目的:支持更长的队列(支持能多的消息存储)
使用场景:当消费者由于某种原因宕机,导致大量的消息堆积
第二种情况
场景描述:消费者消费到这个消息但是还没有及时处理,消费者宕机了
解决方案:手动应答
第三种情况
场景描述:生成者将消息发送给交换机以后,正当交换机将这个消息发送给指定队列的时候,该队列所在的主机宕机了
解决方案
生产者事务机制
生产者确认机制
RabbitMQ秒杀公平性保证
RabbitMQ消息顺序性说明
RabbitMQ消息错乱演示
RabbitMQ消息顺序性保障
RabbitMQ秒杀不超卖保证
重复消费原因说明
幂等性保障方案
RabbitMQ高可用
RabbitMQ常见模式
单机模式
普通集群模式
镜像集群模式
RabbitMQ普通集群
集群原理
集群搭建
创建容器
配置集群
集群节点类型
集群测试
集群优化
HAProxy + Keepalived集群方案
集群监控
RabbitMQ自带的Web管理端的插件
RabbitMQ的tracing消息轨迹追踪
采用RabbitMQ的HTTP API接口进行监控
RabbitMQ镜像集群
镜像队列原理介绍
镜像策略介绍
镜像队列测试
0 条评论
下一页