code学习

【从零学分布式】——分布式架构概要

前提

    近些年来,分布式成为很火爆的研究方向,随着大型互联网系统的快速发展,集中部署到大型机上的体系越来越不能满足当今的计算机系统。随着微型计算机的出现,分布式的处理方式受到业界的青睐,计算机系统正在经历从集中式到分布式架构的变革。

集中式

20世纪60年代大型主机优越的性能和良好的稳定性,而且在单机处理能力上优势非常明显。集中式最大的特点是部署结构简单,不需要过多考虑对服务进行多个节点部署,也不用考虑多节点之间的分布式协作问题。但是大型机的人才培养成本比较高,大型主机操作比较复杂。而且大型主机比较昂贵,其次最重要的是明显的单点的问题,大型主机不能保证永远不会出现故障,大型机上的业务扩容影响了业务的发展,上述一系列的原因,导致纷纷转入搭建分布式系统。

分布式

是一个硬件或软件组件分布在不同的网络计算机上,彼此之间仅仅通过消息传递进行通信和协调的系统。

相对于集中式,分布式明显的特征

分布性:多台机器在空间上随意分布,而且分布也是随时变动的

并发性:多个节点可能会同时并发的操作一些共享资源,高效协调并发是分布式最大的挑战之一

对等性:没有主从之分

缺乏全局时钟:多个进程通过交换消息来进行通信,没有办法断定先后顺序,缺乏全局时钟控制。

故障总会发生:分布式的计算机可能会发生任何形式的故障。

在特征中暴露分布式中一定会出现的问题

通信异常,多台机器协同合作,从单机延时纳秒级别到现在毫秒级别,延时差别,造成信息的延迟和丢失。

网络分区,网络延时,最终会造成只有部分节点能够正常通信,其余的则不能,这样就出现了数据的事务处理问题

三态:分布式接收和请求的存在三种状态,成功,失败,超时。

节点故障:组成服务器节点出现的宕机的现象。

    上述问题归根结底还是可能会造成数据不一致的问题,异常影响了事务的进行。所以为了解决分布式造成的问题,分布式事务也就成为再也无法回避的问题了。

解决问题提出的理论

总结