自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(5)
  • 收藏
  • 关注

原创 关于.net高并发商品秒杀方案(RabbitMQ)

五、Rabbit事件总线写法: 引用CAP框架,使用RabbitMQ来管理消息队列替代redis,采用SQLServer进行本地消息表的存储进行发布和订阅压力测试:线程数为10,100,1000三种情况进行测试,Ramp-Up时间空,循环次数为1首先到NuGet包管理器中安装DotNetCore.CAP、DotNetCore.CAP.InMemoryStorage、DotNetCore.CAP.RabbitMQ、DotNetCore.CAP.SqlServer、Savorboard.CAP.InMem

2021-03-16 18:05:12 1162 1

原创 关于.net高并发商品秒杀方案(Redis+队列+Lua脚本)

五、Redis_lua: Lua是redis的轻量脚本语言,把部分需要在业务里实现的功能写在脚本然后嵌入到程序中,把它当作“存储过程”就比较容易理解了。其实我也不熟,就是来装一下。其实就是把上篇Redis+队列的“单品限流、购买次数的限制和方法幂等”写到lua里然后嵌入到程序中功能分析:减少网络开销,将业务放到脚本中执行脚本会做作为一个整体执行,不会插入其它命令脚本复用缺点是出错不会回滚Lua基础语法:基本结构,类似于js,前面声明方法,后面调用方法。参数通过ARGV[1]获取,Ke

2021-03-16 13:25:21 877

原创 关于.net高并发商品秒杀方案(Redis+队列)

四、Redis+队列:思路和服务器缓存+队列基本相同,使用Redis做缓存替代服务器缓存,Redis可以直接使用.net code进行管理也可安装RedisDesktopManager。业务流程:接口触发-> 通过Redis获取库存和新增随机订单号->利用后台任务进行查询数据->新增订单\扣除库存功能分析:Redis是单线程的,利用api自身的原子性,去除lock锁。Redis6.0支持多线程不在此次的讨论范围数据可以持久化解决服务器异常容易导致缓存里的信息丢失压力测试:线

2021-03-12 15:09:23 1850

原创 关于.net高并发商品秒杀方案(纯DB,lock,服务器缓存+队列)

今天由于时间关系上初稿,明天在调整新建GrabbingOrdersController.cs控制器,可以开始制作测试接口了Demo一共有8个接口,两个只做查询,纯db接口、lock锁、服务器缓存+队列、Redis+队列、Redis_lua、rabbit开始搬砖了Controllers文件夹新建控制器(api 控制器 空),引用日志接口和数据库连接类namespace MessageQueuing.Controllers{ /// <summary> /// 抢单

2021-03-11 18:06:32 868 1

原创 关于.net高并发商品秒杀方案

关于.net高并发商品秒杀方案由于工作原因一直没有接触过高并发的项目,近期根据网上的教程整理了一个关于高并发的demo。Demo只在开发环境下使用,未上生成环境。第一次写文章,有啥子不好的地方请纠正功能:商品抢购使用场景:商城类型网站或者小程序等开发工具:Visual Studio 2019、sql server2017、Jmeter、Visual Studio core、Nginx、RabbitMQ框架:.net 5+ef core+swagger数据库:sql server缓存框架:red

2021-03-09 10:05:25 1380 4

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除