分布式文件系统 MogileFS 详述(2)

什么是两段式提交
   通过使用某种协议进行通信来完成分布式事务,被称为两段式提交。从名字上看,您可能已经知道有两个阶段:
第一个阶段,即预提交:
   事务协调器给每个事务管理器发送准备操作的信号。
   事务管理器将操作(通常是数据更新)步骤(或细节)写入事务日志。如果失败,事务管理器使用这些步骤重复操作。
   事务管理器本地创建事务并通知资源管理器对资源(例如,数据库或消息服务器)执行操作。
   资源管理器执行操作并向事务管理器报告成功(准备提交信号)或失败(准备回滚)。
   资源管理器等待事务管理器进一步的指令。
   事务管理器向事务协调器报告成功或失败。
第二阶段,即提交阶段:在第二阶段中,第一阶段的结果将传送给所有事务管理器。

如果任何事务管理器报告失败,所有的事务参与者都必须回滚。
   事务协调器让所有事务管理器提交(或回滚)。
   所有事务管理器将提交或回滚信息传递给其资源管理器。
   资源管理器将成功或失败提示返回给事务管理器。
   事务管理器向事务协调器报告成功或失败。

分布式文件系统 MogileFS 详述

 

CAP理论:一致性,可用性,分区容错性;指一个分布式系统不可以满足一致性,可用性和分区容错性这三个需求,最多只能同时满足其中的两个;
   C(Consistency):一致性,任何一个读操作总是能够读取之前完成的写操作;就是一个数据写入一立马被读到;
   A(Availability):可用性,每一次操作总是能够 在确定的时间返回;无论成功或失败都能收到一个返回值的;
   P(Tolerance of network Partition):分区容错性,在出现网络分区的情况下,仍然能够满足一致性和可用性;

BASE法则模型反ACID模型,完全不同ACID模型,牺牲高一致性,获得可用性或可靠性:
   BA:Basically Available,基本可以用,支持分区失败(sharding碎片划分数据库);
   S:Soft state,软状态,接受一段时间内的状态不同步,异步;
   E:Eventually consistent:最终一致性,弱一致性的表现;
   BASE思想主要强调基本的可用性,如果你需要High 可用性,也就是纯粹的高性能,那么就要以一致性或容错性为牺牲,BASE思想的方案在性能上还是有潜力可挖的。

Paxos算法:比2PC提交更轻量级的分布式事务的协调方式;大概是指不出现故拜占庭将军的前提下,要取得数据的一致性,在通信信道不安全的时候,我们数据传输可能会被人劫持,这样就不能保证数据的可信了,所以必须保证通信信道安全下Paxos算法才可行;

   实现MogileFS的分布式过程,按照下图构建MogileFS分布式文件系统的结构,这里限于机器的原因,一些服务都整合在一起;

分布式文件系统 MogileFS 详述

   第一步:安装MogileFS软件,我们前面提到,它是由三部分组成,所以三个组件都得安装上,并且每个节点都做MogileFS和Mogstored;

在这里先说一个笔者的基本布局,node0(172.16.27.88)上安装nginx和MariaDB,node1(172.16.27.1)和 node2(172.16.27.2)上分别安装了MogileFS和Mogstored,node1和node2都共同使用node0上的 MariaDB数据库,nginx做为前端接收用户请求并负载均衡到后端两个节点上;

在node1上的安装和配置过程,修改好配置文件之后复制一份相同的配置文件到node2节点上,因为它们的配置参数都是一样的:

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/221aaa0abd36bd323863fbe7473b01b4.html