分布式
瞎胡扯
这个作者很懒,什么都没留下…
展开
-
通过 Redis 生成唯一顺序主键
在分布式项目中经常会用到生成唯一主键,或者生成顺序号,现通过Redis实现顺序号的生成。话不多说,直接上代码1、生成唯一主键工厂方法接口如下/** * 获取唯一序列工厂方法 */public interface SequenceFactory { /** * 根据指定的键 获取下一个序列 * @param seqKey 键值 * @return 返回唯一序列 */ long nextValue(String seqKey);原创 2020-06-13 14:10:07 · 1369 阅读 · 0 评论 -
缓存雪崩、穿透、预热、更新和降级汇总
一、缓存雪崩1、现象描述 缓存雪崩可以理解为:由于原有缓存失效(例如:我们设置缓存时采用了相同的过期时间,在同一时刻出现大面积的缓存过期),所有原本应该访问缓存的请求都去查询后端数据库了,而对数据库CPU和内存造成了巨大压力,严重者会导致数据库宕机。从而形成一系列连锁反应,造成整个系统崩溃。2、解决办法设置不同的过期时间:在保存缓存时,给每个缓存设置一个随机时间权重,设置成不同的有效时间,从而保证缓存不会在同一时刻出现大面积失效的情况。 设置查询加锁:即在缓存过期后,在查询...原创 2020-05-18 11:30:26 · 164 阅读 · 0 评论 -
分布式事务解决方案汇总
目录一、两阶段提交二、三阶段提交三、TCC四、最终一致性一、两阶段提交两阶段提交就是把分布式事务分为两个阶段,一个是准备阶段、另一个是提交阶段。1、两阶段提交协议的流程:准备阶段:协调者向参与者发起指令,参与者评估自己的状态,如果参与者可以执行事务,则会写入redo或者undo日志,然后锁定资源,执行操作,但不提交。 提交阶段:如果每个参与者明确返回准备成功,也就是预留资源和执行操作成功,则协调者向参与者发起提交命令,参与者提交资源变更的事务,释放锁定资源,如果任何...原创 2020-05-17 19:49:54 · 328 阅读 · 0 评论