你的位置:首页 > Java教程

[Java教程]分布式系统关键点

分布式系统关键点

分布式系统(distributed system)是建立在网络之上的软件系统。正是因为软件的特性,所以分布式系统具有高度的内聚性和透明性。因此,网络和分布式系统之间的区别更多的在于高层软件(特别是操作系统),而不是硬件。内聚性是指每一个数据库分布节点高度自治,有本地的数据库管理系统。透明性是指每一个数据库分布节点对用户的应用来说都是透明的,看不出是本地还是远程。在分布式数据库系统中,用户感觉不到数据是分布的,即用户不须知道关系是否分割、有无副本、数据存于哪个站点以及事务在哪个站点上执行等

一、分布式系统计算节点分布和计算节点一致性算法

 

1、  现分布式15个节点,计算任务分布如下:

计算任务ID

2i-1

(+节点编号)任务分配节点

1

1

2

2

2

3

3

4

5

4

8

9

 

即在计算节点1上的任务为2、3、5、9,以此类推出个计算节点负责的计算任务编号。

2、  当分布式节点中并未存在计算节点,或分配任务的计算节点挂了,寻找最近计算节点,如当20计算任务分配到18结算节点

3、  当分布式计算节点中加入新的节点后,各节点计算任务重分配问题

当加28计算节点后,2和20计算点首先进行重新计算、当进入新的计算节点后,通过1网相邻节点传播,寻找计算节点

二、分布式系统中各类一致性问题

1、  顺序一致性

 

 

当P1写入x值后,各计算节点,应该在读到x值后应该不可回溯

2、  因果一致性

 

 

当p1计算节点连续写入x后,p2计算节点同样对x进行操作,其他计算节点对x当读可以存在不一致,但不一致应该是顺序的一致性。

3、  客户一致性

保持计算节点的一致性最终目标是实现系统的客户一致性,上海客户到西安出差,读取西安节点邮件列表,可以只展现最新邮件,但最新邮件必须和上海计算节点一致,对历史数据加载通过异步实现

4、  接口一致性

IOS和android在使用微信上的用户体验差距并没有太大差别,接口的一致性。

5、  面向数据一致性

 

 

三、数据一致性

1、  单调读

 

 

2、  单调写

 

 

3、  读写一致

 

 

4、  顺序读写