秒杀——接口优化
1.Redis预减库存减少数据库访问
2.内存标记减少Redis访问
3.请求先入队缓冲,异步下单,增强用户体验
4. Nginx水平扩展
5.数据库分库分表(阿里中间件mycat)
减少数据库访问:
1.系统初始化时,把商品库存数量加载到redis
2.收到请求,redis预减库存,库存不足,直接返回,否则继续
3.请求入队(消息队列),立即返回 "排队中"
4.请求出队,生成订单,减少库存
5.客户端轮询,是否秒杀成功
安装RabbitMQ
1.安装erlang环境
2.安装RabbitMQ
rabbitmq-plugins enable rabbitmq_management
rabbitmq-plugins enable rabbitmq_management
http://localhost:15672进行验证,你会看到下面界面,输入用户名:guest,密码:guest
rabbitmq-plugins enable rabbitmq_management
http://localhost:15672进行验证,你会看到下面界面,输入用户名:guest,密码:guest
Rabbit的4中交换机模式
1.direct模式 交换机exchange
2.topic模式 交换机exchange
3.fanout模式 交换机exchange
4.header模式 交换机exchange