所谓分布式,比如一个超级大的项目,同一个服务,把数据库的不一样部分分开创建到不一样的服务器上。以缓解数据库大量数据访问的压力。数据库
为何会出现分布式架构(产生背景):
目的是解决单台普通计算机的没法完成的存储、计算问题, 尤为是在升级服务器性能特别昂贵时。
不少大公司的业务量比较大(好比淘宝网、京东等),天天的访问量都达到几百万上千万,甚至上亿的访问量,在访问量不是很大的状况下,是能够经过提升单台服务器的配置来知足需求的。可是当单台服务器已经知足不了需求的时候就须要作分布式处理了。毕竟一台服务器的处理能力是有限的。若是分散到几台甚至几十台几百天电脑上,其优点就显现出来了。服务器
优势:
1, 性能提高, 多节点并行工做。
2,可用性更高, 节点之间互不影响, 故障能够转移。网络
缺点:
分布式系统须要大量机器协做,面临诸多的挑战:
第一,异构的机器与网络:
分布式系统中的机器,配置不同,其上运行的服务也可能由不一样的语言、架构实现,所以处理能力也不同;节点间经过网络链接,而不一样网络运营商提供的网络的带宽、延时、丢包率又不同。怎么保证你们齐头并进,共同完成目标,这四个不小的挑战。
第二,广泛的节点故障:
虽然单个节点的故障几率较低,但节点数目达到必定规模,出故障的几率就变高了。分布式系统须要保证故障发生的时候,系统仍然是可用的,这就须要监控节点的状态,在节点故障的状况下将该节点负责的计算、存储任务转移到其余节点
第三,不可靠的网络:
节点间经过网络通讯,而网络是不可靠的。可能的网络问题包括:网络分割、延时、丢包、乱序。
相比单机过程调用,网络通讯最让人头疼的是超时:节点A向节点B发出请求,在约定的时间内没有收到节点B的响应,那么B是否处理了请求,这个是不肯定的,这个不肯定会带来诸多问题,最简单的,是否要重试请求,节点B会不会屡次处理同一个请求。架构
综上:分布式就是一台服务器上取数据,多台服务器共享
---------------------
做者:Chauncy Nong
来源:CSDN
原文:https://blog.csdn.net/ChauncyNong/article/details/80962958
版权声明:本文为博主原创文章,转载请附上博文连接!分布式