分布式系统发展

摩尔定律:集成电路上可以容纳的晶体管数目在大约经过18个月便会增加一倍。
即:处理器的性能每隔两年翻一番,这就意味着集中式系统的运算能力每隔一段时间能提升一倍。

分布式系统发展的内因:
1、如果你的系统需承载的计算量的增长速度大于摩尔定律的预测,集中式系统将无法承载你所需的计算量。
2、用相对廉价的机器组合形成的分布式系统,除了可以获得超过cpu发展速度的性能外,并且具有更好的弹性,可以根据需要进行增加或者减少机器的数目。

2008年后分布式系统技术在工业界逐渐涌现了很多产品。

分布式系统:其组件位于不同互联网计算机上的系统,然后通过互相传递消息来进行通信和协调,为了达到共同的目标,这些组件会相互作用。
即:把需要进行大量计算的工程数据分割成若干个小块,由多台计算机进行计算和存储,然后将结果统一合并到数据结论的科学。本质上就是进行数据存储与计算的分治。另外、假设每台机器出问题的概率是固定的那么分布式系统因为存在着多台计算机整体的故障率就会更高,为了解决分布式系统的高可用问题就需要将数据进行副本冗余。分治和冗余讲究的都是分段化,最终又形成了一个完整的系统把他们协作起来。那获得分布式系统价值的同时,这个“再协作”的过程就是我们相比集中式系统要做的额外工作与成本。

分布式系统的历史:
2006年,谷歌推出了三篇论文:GFS、BigTable和MapReduce三大组件。
GFS解决了分布式文件系统问题。
BigTable解决了分布式Key-Value存储的问题。
MapReduce解决了在分布式文件系统和分布式KV存储上如何做分布式计算和分析的问题。
谷歌的这三大件在业内诞生以后,很快的衍生了一个以分布式系统为底座的领域。并且针对非结构化、半结构化的海量数据的处理系统,我们把它模糊称为NoSQL(Not Only SQL)

分布式技术的主要挑战:
分布式系统的本质是分治与协助,这带来了极大的系统的复杂度。在技术层面的挑战主要包括以下几点:
1、如何最大程度的实现分治
2、如何实现全局的一致性(包括全局的序列化与全局时钟)
3、如何进行故障与部分失效的容错
4、如何应对不可靠的网络与网络分区
【分治与协助、全局一致性、故障扩大、分区容错】

CAP理论(帽子理论):
在分布式系统里最多只能同时满足一致性、可用性和分区容错性这三项中的两项。
一致性:所有的节点在同一时间的数据完全一致(注意这里指的是副本的一致性)。
可用性:服务在正常响应时间内的可用。
分区容错性:分布式系统在遇到某节点或网络分区故障的时候仍然能够对外提供满足一致性或可用性的服务。
按照这个定律:所有的分布式系统都会在这三点进行平衡与选择。

分布式系统通过扩展性应对了数据的容量。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容