樟木头镇仿做网站,简约 网站 设计,怎么做培训班网站,工商企业查询快速文章目录 1、设计一个抢红包系统1.1 高可用的解决方案#xff1a;1.2 抢红包系统的设计1.3 其他 2、秒杀系统设计 这里记录一些有趣的系统设计类的题目#xff0c;一般大家比较喜欢出的设计类面试题目会和高可用系统相关比如秒杀和抢红包等。欢迎大家在评论中评论自己遇到的题… 文章目录 1、设计一个抢红包系统1.1 高可用的解决方案1.2 抢红包系统的设计1.3 其他 2、秒杀系统设计 这里记录一些有趣的系统设计类的题目一般大家比较喜欢出的设计类面试题目会和高可用系统相关比如秒杀和抢红包等。欢迎大家在评论中评论自己遇到的题目本篇文章会持续更新。 1、设计一个抢红包系统
抢红包系统其实也是秒杀类中的一个场景抢红包的特点在于无法超售下单中的超卖、少卖问题是可以允许的。但是对于红包一旦用户抢到的钱比发出去的钱更多那就是大问题了。
抢红包系统的特点
高并发场景保证系统的高可用不能超售及不允许抢到的钱比发出的钱多。
1.1 高可用的解决方案
负载均衡限流熔断、降级隔离超时重试异步调用使用缓存 涉及高科用系统可以参考我之前写的这篇文章如何设计一个高可用系统
1.2 抢红包系统的设计
参考文章 https://jiajunhuang.com/articles/2023_01_31-red_envelope.md.html https://juejin.cn/post/6925947709517987848 上面两篇文章写的很好建议参考这里总结一下该方案设计 1. 分布式锁拦截 或者 mysql层乐观锁控制 2. 预分配红包增加一个红包明细表
还有一种方案可以使用redis队列做存储每次来抢pop一个红包然后同时将这个红包再异步存储到库中。这里需要注意的就是如果pop完系统崩溃可能造成redis数据丢了或者mysql还没有存储到红包该如何处理
1.3 其他
红包分配算法其实也会常问如何分配才能保证随机这道题属于算法题不属于系统设计题目可作为延伸思考。 一般会使用二倍均值法 参考文章https://juejin.cn/post/7080343105177665544
2、秒杀系统设计
秒杀系统的特点如下
高性能一致性高可用 该题可以引发的问题很多常问常新非常考研一个人系统架构的能力很多面试官会喜欢问这一类的设计问题我收集了几个比较不错的系统设计可以参考和学习。 如何设计一个秒杀系统1 如何设计一个秒杀系统2