超高并发场景下的问题解决的几种思路和实现原理------软件架构设计

秒杀高并发系统关注的问题
服务单一职责,独立部署
秒杀服务即使自己扛不住压力,挂掉了以后,也不要影响到别的服务
秒杀的链接加密
防止恶意攻击,模拟秒杀请求,1000/s攻击,防止链接暴露
防止工作人员提前秒杀商品
库存预热,快速扣减
秒杀请求是读多写少的场景,无需每次实时校验库存,库存做预热放到redis即可
信号量控制进来秒杀的请求
动静分离
nginx做好动静分离,保证秒杀和商品详情的动态请求打到后端的服务集群,使用CDN网络分担集群压力
恶意请求拦截
识别非法请求攻击并进行拦截,这部分需要在网关层去做,不能放进服务里面再拦截
流量错峰
使用各种手段,将流量分担到更大宽度的时间点,比如
验证码(用户输入需要时间),
加入购物车(用户完成实际的下单行为需要时间)
限流熔断降级
前端限流(限制用户直接点击的次数,就算点了,也不给他发那么多请求),
后端限流(识别用户的正常行为或者恶意行为,反正给他加上限制,不允许一定时间内多次处理),
限制次数,限制总量,快速失败降级运行,熔断隔离防止雪崩,直接给用户返回当前流量过大,请稍后访问
队列削峰
一万个商品,每个1000件秒杀,双十一所有秒杀成功的请求,进入队列,慢慢创建订单,扣减库存即可

秒杀高并发系统关注的问题
服务单一职责,独立部署
秒杀服务即使自己扛不住压力,挂掉了以后,也不要影响到别的服务
秒杀的链接加密
防止恶意攻击,模拟秒杀请求,1000/s攻击,防止链接暴露
防止工作人员提前秒杀商品
库存预热,快速扣减
秒杀请求是读多写少的场景,无需每次实时校验库存,库存做预热放到redis即可
信号量控制进来秒杀的请求
动静分离
nginx做好动静分离,保证秒杀和商品详情的动态请求打到后端的服务集群,使用CDN网络分担集群压力
恶意请求拦截
识别非法请求攻击并进行拦截,这部分需要在网关层去做,不能放进服务里面再拦截
流量错峰
使用各种手段,将流量分担到更大宽度的时间点,比如
验证码(用户输入需要时间),
加入购物车(用户完成实际的下单行为需要时间)
限流熔断降级
前端限流(限制用户直接点击的次数,就算点了,也不给他发那么多请求),
后端限流(识别用户的正常行为或者恶意行为,反正给他加上限制,不允许一定时间内多次处理),
限制次数,限制总量,快速失败降级运行,熔断隔离防止雪崩,直接给用户返回当前流量过大,请稍后访问
队列削峰
一万个商品,每个1000件秒杀,双十一所有秒杀成功的请求,进入队列,慢慢创建订单,扣减库存即可

权限控制
RBAC基于角色的访问控制,是一种广泛使用的访问控制模型,通过角色来分配和管理用户的菜单权限
这里以若依为例
sys_dept部门表和sys_post岗位信息表就是身份表
sys_menu菜单权限表和sys_role角色信息表
sys_role-dept角色和部门管理表

 权限控制
RBAC基于角色的访问控制,是一种广泛使用的访问控制模型,通过角色来分配和管理用户的菜单权限
这里以若依为例
sys_dept部门表和sys_post岗位信息表就是身份表
sys_menu菜单权限表和sys_role角色信息表
sys_role-dept角色和部门管理表

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值