当前位置: 首页 > wzjs >正文

响应式商业网站开发实训报告十大品牌营销策划公司

响应式商业网站开发实训报告,十大品牌营销策划公司,网站关键词优化步骤,vps服务器10元一月目录 当前业务存在的问题 认识消息队列 List PubSub (publish subscribe)​ Stream 单消费模式 消费者组模式 对比 异步秒杀优化 当前业务存在的问题 JVM内存限制:当前使用的是JDK提供的阻塞队列,使用的是JVM的内存,如果不加以限制&…

目录

当前业务存在的问题

认识消息队列

List

PubSub (publish subscribe)​

Stream

单消费模式

消费者组模式

对比

异步秒杀优化


当前业务存在的问题

JVM内存限制:当前使用的是JDK提供的阻塞队列,使用的是JVM的内存,如果不加以限制,在高并发的情况下,就会有无数的订单对象需要创建并放到阻塞队列,超出JVM内存限制,导致内存溢出,虽然我们这里给长度设置了上限,但是如果订单太多,就塞不进去了  --->内存限制

数据安全:

1.如果服务突然宕机/重启,由于JVM内存没有持久化机制,内存里的订单信息丢失,后台没有订单数据,但用户已经下单付款了  --->数据不一致。

2.某一线程从队列里取出下单任务,若此时发生事故,任务就无法执行,但此时队列里已经没有该订单任务了  --->任务丢失。

认识消息队列

消息队列是JVM以外的一个独立的服务,不受JVM内存的限制  --->解决内存限制

消息队列不仅做数据存储,还确保了数据安全:有持久化机制,能持久保存  --->解决数据不一致

消息投递给消费者后,要求消费者做消息的确认,否则,消息依然存在于队列,下次依然投递给消费者,直到被确认,即消息至少被消费一次  --->解决任务丢失

List

PubSub (publish subscribe)

Stream

单消费模式

写:

读:

消费者组模式

对比

异步秒杀优化

(主要是为了替代原来的阻塞队列)

首先,添加队列以及对应的消费者组

修改lua脚本

注释掉之前的处理任务逻辑

改造:

由于已经在redis中判断过库存是否充足,以及该用户是否买过同一个优惠券。所以只要走到createVoucherOrder方法,几乎不可能存在扣减库存失败/插入订单失败,故这里没有必要再次保证原子性,也就不需要@Transactional注解,也就不用代理对象调用该方法了,也就不需要这里的proxy了,所以有关proxy的逻辑就可以删去了。

最终经测试,功能完整,这里不再展示,业务优化成功。

http://www.dtcms.com/wzjs/408048.html

相关文章:

  • 名表网站营销管理制度范本
  • 万户网络技术宁波网络推广seo软件
  • 今天正式封城搜外网 seo教程
  • 怎么查网站做站点地图沈阳seo优化排名公司
  • 移动微网站广告
  • 成都游戏网站建设怎样建网站平台
  • wordpress bizhongbio网站为什么要seo
  • 常见的有利于seo的网站系统上海b2b网络推广外包
  • wordpress支付集成seo必备工具
  • 武汉手机网站建设品牌网站点击率查询
  • 网站文章怎么做分享qq百度指数搜索热度大学
  • 买房网站怎么做三只松鼠网络营销案例分析
  • 做网站需要什么文件新业务在线软件下载
  • javascript源码网站网站大全
  • 厦门市网站建设游戏代理免费加盟
  • 上海网站建设电商旅平台app下载
  • 长清网站建设价格培训机构招生7个方法
  • 个人网站上传有啥要求seo的优点和缺点
  • 外贸soho建站多少钱青柠影院免费观看电视剧高清
  • 武汉网站建设哪个好贵州快速整站优化
  • 茂名住房和城乡建设厅网站网站维护一般都是维护什么
  • wordpress门户源码重庆百度seo排名
  • 班级网站开发毕业论文参考文献今天的最新新闻内容
  • 企业网站管理系统排名360优化大师最新版
  • 公司手机网站建设价格发布软文的平台有哪些
  • 衢州高端网站建设免费seo教程资源
  • 网站开发工具.晴天娃娃推广平台哪个效果最好
  • 常州做网站优化seo入门书籍
  • 买网站自己做seo外链友情链接
  • 深圳有实力的网站建设服务商网站推广费用