![](https://img-blog.csdnimg.cn/20190918140158853.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
中间件技术
文章平均质量分 50
分布式锁、分布式缓存、分布式事务、分布式消息队列、分布式任务调度相关技术
splendor.s
这个作者很懒,什么都没留下…
展开
-
雪花算法(snowflake)实现分布式ID的生成
先分析一下:雪花算法简单描述:一、 1位标识,由于long基本类型在Java中是带符号的,最高位是符号位,正数是0,负数是1,所以id一般是正数,最高位是0,是符号位,始终为0,不可用。二、41位的时间序列,精确到毫秒级,41位的长度可以使用69年。时间位还有一个很重要的作用是可以根据时间进行排序。注意,41位时间截不是存储当前时间的时间截,而是存储时间截的差值(当前时间截 -...原创 2019-08-27 14:50:33 · 980 阅读 · 1 评论 -
Redis主从复制、哨兵、Cluster三种模式
Redis作为缓存的高效中间件,在我们日常的开发中被频繁的使用,今天就来说一说Redis的四种模式,分别是「单机版、主从复制、哨兵、以及集群模式」。可能,在一般公司的程序员使用单机版基本都能解决问题,在Redis的官网给出的数据是10W QPS,这对于应付一般的公司绰绰有余了,再不行就来个主从模式,实现读写分离,性能又大大提高.单机版Redis:单机版的Redis就比较简单了,基本90%的程序员都是用过,官网推荐操作Redis的第三方依赖库是Jedis,在SpringBoot项目中,引入...原创 2021-04-26 15:41:50 · 198 阅读 · 0 评论 -
SpringBoot Redission实现分布式锁
为了防止分布式系统中的多个进程之间相互干扰,我们需要一种分布式协调技术来对这些进程进行调度。而这个分布式协调技术的核心就是来实现这个分布式锁。分布式锁应该具备条件互斥性 防止死锁 可重入 非阻塞 锁的力度目前我所知道的有3种方式通过 数据库实现排他锁 -- 性能比较差 不推荐 通过 zookeeper 实现 -- 目前还不了解 通过 redis(Redisson)实现 -- 通过设置过期时间 来控制锁的获取及释放Redisson 原理Redisson分布式锁的实现是基于实现R..原创 2020-11-04 16:12:54 · 498 阅读 · 0 评论 -
redisson与aop解决接口幂等性
1.自定义防重复提交的注解和切面2.在需要验证的接口上增加注解(一般是创建、修改的接口)3.以每次调用的 用户唯一标识(userId或者sessionId或者token)+ 请求路径+参数 作为key,value任意值都可以,缓存起来(redis或本地缓存),并设置一个合适的缓存失效时间。4.每次调用时根据key判断,缓存是否存在,存在则抛出异常或提示,不存在则执行业务逻辑原创 2020-07-28 14:26:16 · 804 阅读 · 0 评论