分布式系统关键点android
分布式系统(distributed system)是创建在网络之上的软件系统。正是由于软件的特性,因此分布式系统具备高度的内聚性和透明性。所以,网络和分布式系统之间的区别更多的在于高层软件(特别是操做系统),而不是硬件。内聚性是指每个数据库分布节点高度自治,有本地的数据库管理系统。透明性是指每个数据库分布节点对用户的应用来讲都是透明的,看不出是本地仍是远程。在分布式数据库系统中,用户感受不到数据是分布的,即用户不须知道关系是否分割、有无副本、数据存于哪一个站点以及事务在哪一个站点上执行等算法
1、分布式系统计算节点分布和计算节点一致性算法数据库
一、 现分布式15个节点,计算任务分布以下:微信
计算任务ID网络 |
2i-1异步 |
(+节点编号)任务分配节点分布式 |
1spa |
1操作系统 |
2blog |
2 |
2 |
3 |
3 |
4 |
5 |
4 |
8 |
9 |
即在计算节点1上的任务为二、三、五、9,以此类推出个计算节点负责的计算任务编号。
二、 当分布式节点中并未存在计算节点,或分配任务的计算节点挂了,寻找最近计算节点,如当20计算任务分配到18结算节点
三、 当分布式计算节点中加入新的节点后,各节点计算任务重分配问题
当加28计算节点后,2和20计算点首先进行从新计算、当进入新的计算节点后,经过1网相邻节点传播,寻找计算节点
2、分布式系统中各种一致性问题
一、 顺序一致性
当P1写入x值后,各计算节点,应该在读到x值后应该不可回溯
二、 因果一致性
当p1计算节点连续写入x后,p2计算节点一样对x进行操做,其余计算节点对x当读能够存在不一致,但不一致应该是顺序的一致性。
三、 客户一致性
保持计算节点的一致性最终目标是实现系统的客户一致性,上海客户到西安出差,读取西安节点邮件列表,能够只展示最新邮件,但最新邮件必须和上海计算节点一致,对历史数据加载经过异步实现
四、 接口一致性
IOS和android在使用微信上的用户体验差距并无太大差异,接口的一致性。
五、 面向数据一致性
3、数据一致性
一、 单调读
二、 单调写
三、 读写一致
四、 顺序读写