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

网站开发文献资料福州网站建设团队

网站开发文献资料,福州网站建设团队,杭州十大室内设计公司,做投票页面什么网站好目录 当前业务存在的问题 认识消息队列 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/389812.html

相关文章:

  • 电子商务网站规划搜索引擎优化的办法有哪些
  • 有什么软件可以做网站万网域名查询
  • 网站访客qq获取代码天津百度seo代理
  • 做视频链接的网站吗百度做网站
  • 宝坻网站建设怎么推广自己的产品
  • wordpress 后台 模板巩义网站推广优化
  • 360seo排名点击软件山东服务好的seo公司
  • 江西南昌电子商务网站建设公司常见的网络直接营销有哪些
  • 微信公众账号登录入口宁波seo外包公司
  • 网站怎么自己做推广淘宝seo软件
  • 设计好的建设专业网站搜索引擎营销的成功案例
  • 茌平网站建设菜谱制作个人网站设计成品
  • 如何编辑做网站长沙官网seo分析
  • 新乡网站建设公司黄页88推广多少钱一年
  • 网站运营做的是什么工作百度推广手机登录
  • 珠海品牌网站建设win7优化大师官方免费下载
  • 湘潭做网站公司选择封象网做网站公司谷歌seo服务商
  • 菏泽企业做网站英雄联盟更新公告最新
  • WordPress美图主题北京搜索优化排名公司
  • 用Html5做网站邀请注册推广赚钱的app
  • 网页设计作品欣赏网站友情链接软件
  • 企业做网站域名需要自己申请吗合肥seo排名扣费
  • 渝中集团网站建设浙江网络科技有限公司
  • 网站建设公司好做吗推广策略
  • 计算机it培训班seo网站优化专员
  • 网站按域名跳转不同的页面山西seo
  • 妇科医院手机网站今日头条郑州头条新闻
  • 婚庆公司网站php源码推广营销是什么
  • 嘉兴教育网站建设十大品牌营销策划公司
  • 做网站平面一套多少钱今天刚刚发生的新闻最新新闻