文章目录
- 1.锁:
* 2.分布式锁:
* 3.事务
* 4.分布式事务
1.锁:
单进程的系统中,存在多线程同时操作一个公共变量,此时需要加锁对变量进行同步操作,保证多线程的操作线性执行消除并发修改。
解决发是单进程中多线程并发问题。
2.分布式锁:
只要的应用场景是在集群模式的多个相同服务,可能会部署在不同机器上,解决进程间安全问题,防止多进程同时操作一个变量或者数据库。
解决的是多进程的并发问题。
3.事务
解决一个回话过程中,上下文的修改对所有数据库表的操作要么全部成功,要不全部失败。所以应用在service层。
解决的是一个会话中的操作的数据一致性。
4.分布式事务
解决一个联动操作,比如一个商品的买卖分为:
(1)添加商品到购物车
(2)修改商品库存 -1
此时购物车服务和商品库存服务可能部署在两台电脑,这时候需要保证对两个服务的操作都全部成功或者全部回退。
解决的是组合服务的数据操作的一致性问题。