事务管理
1、微服务架构下的事务
每个微服务都有自己的数据库,业务被重新划分后,总有一些业务需要跨多个服务才能完成。当不同微服务中需要通过T1、T2、T3、T4等步骤完成一个业务功能时,如果任何一个事务失败,则必须以相反的顺序执行补偿事务。
2、数据隔离问题
2.1 缺乏隔离导致的问题
- 丢失更新:被另一个更新覆盖
- 脏读
- 不可重复读
2.2 隔离的策略
- 语义锁:通过应用程序控制状态
- 交换式更新:把更新操作设计成可按任意顺序执行
- 重读值:在覆盖数据之前验证它是否保持不变
- 版本文件:将更新记录下来,如数据行加更新的版本号
CAP理论
一致性、可用性、分区容错性,系统只能在三个属性中同时保证两个。
网友评论