分布式事务有哪些解决方案?
1.单体项目多数据源可以用jta+Atomikos
2.基于RabbitMq的形式解决 最终一致性的思想
3.基于RocketMq解决分布式式事务,最终一致性的思想
4.LCN 采用LCN模式 假关闭连接(目前已经被淘汰)官网已经无法访问(基于2PC)
5.Alibaba的Seata背景非常强大,已经成为主流,但是性能一般(基于2PC)
以上适合在微服务架构中,不适合于和外部接口保证分布式事务问题。
6.跨语言的方式实现分布式事务问题 类似于支付宝回调方式 如果项目是追求响应速度,建议采用MQ最终一致性方案 实现解决分布式事务问题。
分布式锁的应用场景
1.定时任务
2.秒杀抢购,防止库存超卖的问题
3.双写一致性协议,更新DB,更新Redis
分布式锁的实现方案
1.基于数据库实现—mysql使用行锁
2.基于Zookeeper Cp模式
3.基于Redis sentx 实现 Ap模式
4.Redis框架 Redisson、Redislock
要求:保证一致性 使用Zookeeper
要求:保证可用性 使用Redis实现分布式锁