Merge pull request #1 from Jane11111/patch-1

Update 分布式事务1.md
This commit is contained in:
FleyX 2018-11-27 13:35:54 +08:00 committed by GitHub
commit 71ce067daa
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -6,13 +6,13 @@
  分布式事务是企业集成中的一个技术难点,也是每一个分布式系统架构中都会涉及到的一个东西,特别是在微服务架构中,几乎是无法避免的。
##一、从单机事务到分布式
## 一、从单机事务到分布式
###1.数据库事务
### 1.数据库事务
我们都知道数据库事务的四个特性原子性、一致性、隔离性和持久性数据库事务由数据库软件自身来完成。假如数据库在提交事务的时候突然断电数据库可以在日志记录中找到上一次事务操作然后根据当前数据库的情况进行undo回滚或者是redo前滚基于某时刻的完整备份然后执行从该时刻到崩溃时间所有增删改查操作使数据库恢复到崩溃前的状态。在分布式环境中可能遇到的问题就更多了例如机器宕机、网络异常、消息乱序、数据错误、存储数据丢失等等数据库自身并没有比较好的解决方案下文会提到一种数据库支持的解决方法
###2.分布式理论
### 2.分布式理论
  当单个数据库的性能产生瓶颈的时候我们可能会对数据库进行分区这里分区指的是物理分区分区后不同的库可能就在不同的服务器上了这个时候单个数据库的ACID已经不能适应这种情况了在集群情况下想保证集群的ACID是很困难的即使能够达到效率和性能也会大幅下降而且难以拓展。这就需要一个新的理论**CAP原则**。