自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(5)
  • 收藏
  • 关注

原创 分布式锁的选择

不推荐自己编写的分布式锁推荐Redission和Curator实现性能:Redis > Zookeeper > DB问题:redis:在集群的模式下,可能会出现重复加锁的情况。 因为redis是ap模型,首先保障的是高可用和分区隔离性,在数据一致性方面做了相应的牺牲采用异步同步数据的方式(master接收写请求在异步同步给slave),中间这个时间段master可能会宕机,导致数据不一致,集群再次选举出的master就会数据丢失,就会导致重复加锁。解决方式使用 rediss...

2021-01-06 11:55:41 23

原创 zookeeper脑裂问题及解决办法

一般脑裂都是出现在集群环境中的。指的是一个集群环境中出现了多个master节点(类似zookeeper的master、elasticsearch的master节点),导致严重数据问题,数据不一致等等。出现的原因:可能就是网络环境有问题如断开,假死等等,导致一部分slave节点会重新进入崩坏恢复模式,重新选举新的master节点,然后对外提供事务服务。下图是一个正常的Zookeeper集群,由7个节点组成。其中有1个Leader A和6个Follower。当网络发送故障时,Foll..

2021-01-06 11:53:16 40

原创 锁和事务冲突

我使用的RedLock做分布式锁管理,用spring注解事务管理。在实现过程中遇到如下两个映像深刻的问题:1、分布式锁与spring注解事务共用产生的问题2、锁在事务提交前超时问题使用分布式锁RedLock及spring事务实现 public markScenicSpot(){ //设置锁为destId RLock lock = redisson.getLock("Afanti_markScenicSpot_updateCountwantAndCountbeen.

2021-01-05 14:10:09 43

原创 接口幂等性

什么是接口幂等性?幂等是数学和计算机学的概念,常见于抽象代数中,即f(f(x)) = f(x)。简单来讲就是接口被调用多次获得的结果和接口被调用一次获得的结果是一致的。在开发过程中,有很多操作天生就具有幂等性,比如数据库的select操作,无论查询多少次,与查询一次的结果都是一致的。很多情况的接口幂等性都需要我们自己处理的,特别是在分布式系统中,能不能保证接口幂等性对系统影响是非常大的。例如下单支付的操作场景,由于分布式系统环境的网络复杂性、用户误操作、网络抖动、消息重发、服务超时导致业务自动重试等等各

2021-01-05 10:15:20 22

原创 mysql 四种隔离级别

事务的 四个特征(ACID)事务具有四个特征:原子性( Atomicity )、一致性( Consistency )、隔离性( Isolation )和持续性( Durability )。这四个特性简称为 ACID 特性。1 、原子性。事务是数据库的逻辑工作单位,事务中包含的各操作要么都做,要么都不做2 、一致性。事 务执行的结果必须是使数据库从一个一致性状态变到另一个一致性状态。因此当数据库只包含成功事务提交的结果时,就说数据库处于一致性状态。如果数据库系统 运行中发生故障,有些事务尚未完成就

2021-01-05 10:11:16 29

空空如也

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人 TA的粉丝

提示
确定要删除当前文章?
取消 删除