1、引入业务场景 业务场景一出现: 因为小T刚接手项目,正在吭哧吭哧对熟悉着代码、部署架构。在看代码过程中发现,下单这块代码可能会出现问题,这可是分布式部署的,如果多个用户同时购买同一个商品,就可能导致商品出现 库存超卖 (数据不一致) 现象,对于这种情况代码中并没有做任何控制。 原来一问才知道,以 ...
分类:
其他好文 时间:
2020-01-09 22:32:10
阅读次数:
110
1、引入业务场景首先来由一个场景引入:最近老板接了一个大单子,允许在某终端设备安装我们的APP,终端设备厂商日活起码得几十万到百万级别,这个APP也是近期产品根据市场竞品分析设计出来的,几个小码农通宵达旦开发出来的,主要功能是在线购物一站式服务,后台可以给各个商家分配权限,来维护需要售卖的商品信息。老板大O:谈下来不容易,接下来就是考虑如何吸引终端设备上更多的用户注册上来,如何引导用户购买,这块就
分类:
其他好文 时间:
2020-01-07 21:25:08
阅读次数:
446
实际工作中,经常会遇到多线程并发时的类似抢购的功能,本篇描述一个简单的redis分布式锁实现的多线程抢票功能。 直接上代码。首先按照慣例,給出一個错误的示范: 我们可以看看,当20个线程一起来抢10张票的时候,会发生什么事。 package com.tiger.utils; public class ...
分类:
编程语言 时间:
2020-01-06 23:04:29
阅读次数:
117
1 前言 前面写了4篇Redis底层实现和工程架构相关文章,感兴趣的读者可以回顾一下: Redis面试热点之底层实现篇-1 Redis面试热点之底层实现篇-2 Redis面试热点之工程架构篇-1 Redis面试热点之工程架构篇-2 今天开始来和大家一起学习一下Redis实际应用篇,会写几个Redis ...
分类:
编程语言 时间:
2020-01-06 14:52:00
阅读次数:
80
【每日3分钟技术干货|面试题+答案|分布式锁篇(一)】为什么要使用分布式锁?为了保证一个方法在高并发情况下的同一时间只能被同一个线程执行,在传统单体应用单机部署的情况下,可以使用Java并发处理相关的API(如ReentrantLcok或synchronized)进行互斥控制。但是,随着业务发展的需要,原单体单机部署的系统被演化成分布式系统后,由于分布式系统多线程、多进程并且分布在不同机器上,这将
分类:
其他好文 时间:
2020-01-05 10:14:21
阅读次数:
96
Redis分布式锁 一丶什么是分布式锁 普通的锁,用于同一进程内不同线程在操作同一资源时,为解决冲突而加上的,使得多线程在操作统一资源时以单线程顺序执行. JVM的内存模型: 主内存保存变量值, 每个线程内也有自己的内存, 一般情况下, 线程会在本内存中操作数据后,在刷入主内存, 如果多个线程都同时 ...
分类:
其他好文 时间:
2020-01-04 16:23:51
阅读次数:
109
什么是分布式协调技术 分布式协调技术主要用来解决分布式环境当中多个进程之间的同步控制,让他们有序的去访问某种临界资源,防止造成"脏数据"的后果。 在这图中有三台机器,每台机器各跑一个应用程序。然后我们将这三台机器通过网络将其连接起来,构成一个系统来为用户提供服务,对用户来说这个系统的架构是透明的,他 ...
分类:
其他好文 时间:
2020-01-03 21:17:04
阅读次数:
71
在微服务中经常需要使用分布式锁,来执行一些任务。例如定期删除过期数据,在多个服务中只需要一个去执行即可。 以下说明非严格意义的分布式锁,因为 redis 实现严格意义的分布式锁还是比较复杂的,对于日常简单使用使用如下简单方法即可。即偶尔不执行任务不影响业务。 实现要点 1)获得锁、释放锁需要是原子操 ...
分类:
编程语言 时间:
2020-01-03 11:58:55
阅读次数:
72
大白话讲解分布式缓存并发冲突问题及其解决方案:zk分布式锁 一、背景介绍 如果您更喜欢看视频教程,可以看本头条号发布的视频教程,绝对大白话,手把手带你体验整个冲突的演示过程及解决方案:两种方式,随机挑选 缓存架构之实战演练基于zk分布式锁解决分布式缓存并发冲突问题 1、源架构: 2、分布式缓存并发冲 ...
分类:
其他好文 时间:
2019-12-31 12:09:06
阅读次数:
99
redis系列:分布式锁 1 介绍 这篇博文讲介绍如何一步步构建一个基于Redis的分布式锁。会从最原始的版本开始,然后根据问题进行调整,最后完成一个较为合理的分布式锁。 本篇文章会将分布式锁的实现分为两部分,一个是单机环境,另一个是集群环境下的Redis锁实现。在介绍分布式锁的实现之前,先来了解下 ...
分类:
其他好文 时间:
2019-12-30 17:37:33
阅读次数:
79