- 1、本文档共3页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
穷则独善其身,达则兼善天下。——《孟子》
1.利利⽤用消息中间件和缓存实现简单的秒杀系统
a.Redis是⼀一个分布式缓存系统,⽀支持多种数据结构,我们可以利利⽤用Redis轻松实现⼀一个强⼤大的秒杀系统。
b.我们可以采⽤用Redis最简单的key-value数据结构,⽤用⼀一个原⼦子类型的变量量值(AtomicInteger)作为key,把⽤用户id作
为value,库存数量量便便是原⼦子变量量的最⼤大值。对于每个⽤用户的秒杀,我们使⽤用RPUSHkeyvalue插⼊入秒杀请求,当插
⼊入的秒杀请求数达到上限时,停⽌止所有后续插⼊入。
c.然后我们可以在台启动多个⼯工作线程,使⽤用LPOPkey读取秒杀成功者的⽤用户id,然后再操作数据库做最终的下订
单减库存操作。
d.当然,上⾯面Redis也可以替换成消息中间件如ActiveMQ、RabbitMQ等,也可以将缓存和消息中间件组合起来,缓
存系统负责接收记录⽤用户请求,消息中间件负责将缓存中的请求同步到数据库。
2.如何实现双11购物限流:
1、限流策略略:
Nginx接⼊入层限流
按照⼀一定的规则如帐号、IP、系统调⽤用逻辑等在Nginx层⾯面做限流
业务应⽤用系统限流
通过业务代码控制流量量这个流量量可以被称为信号量量,可以理理解成是⼀一种锁,它可以限制⼀一项资源最多能同时被多少进
程访问。
2、lua脚本:
1localkey=KEYS[1]--限流KEY(⼀一秒⼀一个)
2locallimit=tonumber(ARGV[1])--限流⼤大⼩小
3localcurrent=tonumber(redis.call(get,key)or0)
4ifcurrent+1limitthen--如果超出限流⼤大⼩小
5return0
6else--请求数+1,并设置2秒过期
7redis.call(INCRBY,key,1)
8redis.call(expire,key,2)
9end
10return1
减少⽹网络开销:不不使⽤用Lua的代码需要向Redis发送多次请求,⽽而脚本只需⼀一次即减可,少⽹网络传输;
原⼦子操作:Redis将整个脚本作为⼀一个原⼦子执⾏行行⽆无需担⼼心并发,也就⽆无需事务,;
复⽤用:脚本会永久保存Redis中,其他客户端可继续使⽤用.
2、ip限流lua脚本:
1localkey=rate.limit:..KEYS[1]
2locallimit=tonumber(ARGV[1])
3localexpire_time=ARGV[2]
4
5local
您可能关注的文档
- 2025年《山水画》说课稿和教案(共五篇) .pdf
- 2025年《呼兰河传》课外阅读测试题【附答案】 .pdf
- 2025年“强国复兴有我”主题活动征文十篇 .pdf
- 2024年东莞安美时电子有限公司应届高校毕业生招聘高频考题难模拟试题附带答案题库(易错题).docx
- 2023-2024年黑龙江省依安县《质量员之设备安装质量基础知识》考试必刷100题通关秘籍题库(含答.docx
- 2023-2024年鲁南制药集团有限公司招聘应届高校毕业生88人高频难、易错点模拟试题附带答案真题题.docx
- 2023-2024年青铜峡铝业集团有限公司招聘3人高频100题难、易错点模拟试题附带答案真题(易错题.docx
- 2023-2024年青岛红星化工集团有限责任公司校园招聘公开引进高层次人才笔试答案题库及答案(典优).docx
- 2023-2024年青岛捷能汽轮机股份有限公司招聘80人历年高频考题难、易错点模拟试题附带答案题库大.docx
- 2023-2024年青岛佳元水产有限公司应届高校毕业生招聘高频考题难模拟试题附带答案题库(预热题).docx
- 吉安县公开招聘专职文明实践员笔试备考试题及答案解析.docx
- 2025重庆枫叶国际学校招聘教师笔试备考试题及答案解析.docx
- 游机队电玩自制联网教程-tplink.pdf
- 2025重庆新华出版集团招聘1人笔试模拟试题及答案解析.docx
- 2025宜宾高新丽雅城市产业发展有限公司公开招聘笔试模拟试题及答案解析.docx
- 2025云南保山市龙陵县勐糯镇人民政府招聘合同制专职消防员1人笔试模拟试题及答案解析.docx
- 11.1生活中常见的盐 九年级化学人教版下册.pptx
- 6.1法律保护下的婚姻 高二政治《法律与生活》课件(统编版选择性必修2)(新版).pptx
- 文昌市中小学教师校园招聘29人笔试模拟试题及答案解析.docx
- 10.1.5 常见的酸和碱(第5课时)课件-九年级化学人教版下册.pptx
文档评论(0)