rocketMQ分布式事务实例
摘要:利用rocketMQ解决分布式事务 在rocketMQ中生产者有三种角色 NormalProducer(普通)、OrderProducer(顺序)、TransactionProducer(事务) 根据名字大概可以看出各个代表着什么作用,我们这里用 TransactionProducer(事务)来解决
阅读全文
分布式主键--生成方法
摘要:下面介绍几种分布式id的生成策略: 1、UUID UUID(Universally Unique Identifier)的标准型式包含32个16进制数字,以连字号分为五段,形式为8-4-4-4-12的36个字符,示例:cc8fd628-ef02-426d-a954-89294591024c java
阅读全文
高并发下接口幂等性解决方案
摘要:一、背景 我们实际系统中有很多操作,是不管做多少次,都应该产生一样的效果或返回一样的结果。 例如1. 前端重复提交选中的数据,应该后台只产生对应这个数据的一个反应结果;2. 我们发起一笔付款请求,应该只扣用户账户一次钱,当遇到网络重发或系统bug重发,也应该只扣一次钱;3. 发送消息,也应该只发一次
阅读全文
redis 实现分布式锁
摘要:单系统的时候可以通过 同步锁等机制实现,但是多个服务器多个进程如何实现呢。首先看一下分布式锁的必要条件: 1)原子性:加锁和释放锁的操作必须满足原子性 2)不会产生死锁,有各种原因会导致锁没有被释放从而产生死锁 3)互斥性,某个时间只能有一个线程占有锁,其他线程处于阻塞状态 4)可重入性,也就是释放
阅读全文