一、分布式计算概述
1、中国科学院对分布式计算有一个定义:分布式计算就是在两个或多个软件互相共享信息。这些软件可以在同一台计算机上运行,也可以通过网络连接起来的多台计算机上运行。分布式计算比起其他算法具有以下几个优点:
(1)稀有资源可以共享
(2)通过分布式计算可以在多台计算机上平衡计算负载
(3)可以把程序放在最适合运行它的计算机上
共享稀有资源和负载平衡是计算机分布式计算的核心思想之一。
2、分布式计算一般分为以下几步:
(1)设计分布式计算模型
(2)分布式任务分配
(3)编写并执行分布式程序(分布式计算的特点就是多个节点同时运算)
二、分布式计算的理论基础
1、ACID原则:
ACID是数据库事务正常执行的四个原则:(顺序不能改变)
(1)原子性(A)(事务成功的条件是事务里的所有操作都成功,只要有一个操作失败,整个事务就失败,需要回滚)(例如:从A账户转100元至B账户,分为两个步骤:从A账户取100元;存入100元至B账户。这两步要一起完成。)
(2)一致性©(数据库要一直处于一致的状态,事务的运行不会改变数据库原本的一致性约束)
(3)独立性(I)(如果一个事务要访问的数据正在被另一个事务修改,只要另一个事务未提交,它所访问的数据就不受未提交事务的影响)(从A账户转100元至B账户,在这个交易还没有完成情况下,如果B查询自己的账户,是看不到新增的100元的。)
(4)持久性(D)(指一旦事务提交后,它所做的修改将永久保存在数据库上,即使出现宕机也不会丢失)
2、CAP理论:(–应用大题,8-10分)
一个分布式系统最多只能同时满足一致性、可用性和分区容错性这三项中的两项。
(1)一致性©&#