原文:从构建分布式秒杀系统聊聊分布式锁

前言 最近懒成一坨屎,学不动系列一波接一波,大多还都是底层原理相关的。上周末抽时间重读了周志明大湿的 JVM 高效并发部分,每读一遍都有不同的感悟。路漫漫,借此,把前段时间搞着玩的秒杀案例中的分布式锁深入了解一下。 案例介绍 在尝试了解分布式锁之前,大家可以想象一下,什么场景下会使用分布式锁 单机应用架构中,秒杀案例使用ReentrantLcok或者synchronized来达到秒杀商品互斥的目 ...

2018-08-01 08:57 14 3235 推荐指数:

查看详情

构建分布式秒杀系统聊聊WebSocket推送通知

前言 秒杀架构到后期,我们采用了消息队列的形式实现抢购逻辑,那么之前抛出过这样一个问题:消息队列异步处理完每个用户请求后,如何通知给相应用户秒杀成功? 场景映射 首先,我们举一个生活中比较常见的例子:我们去银行办理业务,一般会选择相关业务打印一个排号纸,然后就可以坐在小板凳上玩着 ...

Thu Jul 19 16:43:00 CST 2018 11 3159
构建分布式秒杀系统聊聊线程池

前言 从0到1构建分布式秒杀系统案例的代码已经全部上传至码云,文章也被分发到各个平台。其中也收到了不少小伙伴喜欢和反馈,有网友如是说: 说实话,能用上的不多,中小企业都不可能用到,大型企业也不是一个人就能搞起的,大部分人一辈子都用不上,等有这个需要再搞吧。 我的观点是赞同但不 ...

Tue May 22 16:59:00 CST 2018 9 2359
构建分布式秒杀系统聊聊WebSocket推送通知

前言 秒杀架构到后期,我们采用了消息队列的形式实现抢购逻辑,那么之前抛出过这样一个问题:消息队列异步处理完每个用户请求后,如何通知给相应用户秒杀成功? 场景映射 首先,我们举一个生活中比较常见的例子:我们去银行办理业务,一般会选择相关业务打印一个排号纸,然后就可以坐在小板凳上玩着 ...

Thu Aug 23 18:08:00 CST 2018 0 2672
构建分布式秒杀系统聊聊限流特技

你的春天就在明天。 在开发秒杀系统案例的过程中,前面主要分享了队列、缓存、分布式以及静态化等等。 ...

Mon Jun 11 16:30:00 CST 2018 13 2868
构建分布式秒杀系统聊聊验证码

前言 为了拦截大部分请求,秒杀案例前端引入了验证码。淘宝上很多人吐槽,等输入完秒杀活动结束了,对,结束了...... 当然了,验证码的真正作用是,有效拦截刷单操作,让羊毛党空手而归。 验证码 那么到底什么是验证码呢?验证码作为一种人机识别手段,其终极目的,就是区分正常人和机器的操作 ...

Fri Sep 28 16:55:00 CST 2018 16 2823
构建分布式秒杀系统聊聊Lock使用中的坑

前言 在单体架构的秒杀活动中,为了减轻DB层的压力,这里我们采用了Lock来实现秒杀用户排队抢购。然而很不幸的是尽管使用了,但是测试过程中仍然会超卖,执行了N多次发现依然有问题。输出一下代码吧,可能大家看的比较真切: 代码写在service层,bean默认是单例的,也就是说lock ...

Thu May 31 16:32:00 CST 2018 46 2923
构建分布式秒杀系统聊聊Disruptor高性能队列

前言 秒杀架构持续优化中,基于自身认知不足之处在所难免,也请大家指正,共同进步。文章标题来自码友的建议,希望可以把阻塞队列ArrayBlockingQueue这个队列替换成Disruptor,由于之前曾接触过这个东西,听说很不错,正好借此机会整合进来。 简介 LMAX Disruptor ...

Thu May 24 16:50:00 CST 2018 5 1713
基于Redis分布式秒杀实现

一、使用分布式要满足的几个条件: 1、系统是一个分布式系统(关键是分布式,单机的可以使用ReentrantLock或者synchronized代码块来实现) 2、共享资源(各个系统访问同一个资源,资源的载体可能是传统关系型数据库或者NoSQL) 3、同步访问(即有很多个进程同事访问同一个 ...

Wed Sep 23 04:03:00 CST 2020 0 1061
 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM