架构实际上一种权衡的艺术,它的美往往体现在众多矛盾体间的周旋和则中。可以说,没有最好的架构,只有最合适的架构。
在一些经典的系统中常常存在多个矛盾因素并存的情况,而这些系统的经典架构就反映出如何解决这些矛盾而相克的因素的方案,比如操作系统的存储结构和分布式系统中CAP原则就是典型的例子。
1. 操作系统的存储要达到的目的有以下三个:
而这三个目的是相互矛盾和牵制的,存取越快单位容量成本越高;容量越大,存取速度越慢;容量越大,价格越低。既然存在这些客观因素就只能靠架构来解决,操作系统采取的办法就是层次化的存储架构。把不同容量、速度和成本的存储组合起来,层次化的提供存取服务,从上往下看,顺序是速度又快变慢,容量由小变大,单位成本由高变低,访问频率由高变低。其中的关键就在这个访问频率,通过合适的策略保证绝大多数的访问集中在上层才能体现出这种分层结构的优势。
2. 分布式系统要正常运转一般要满足以下三个因素:
- 一致性(Consistency )
- 可用性(Availability )
- 可分布性(Partition Tolerance )
而以上三个因素是无法同时满足的,即所谓的CAP原则,往往只能满足其二而放弃其一。舍谁弃谁得由具体环境而定,像大型互联网这种应用场景,往往是采取BASE(B asically A vailable, S oft-state, E ventually consistent)架构,在具体解决方案上采用以下手段:
以上两种场景的具体技术暂不去深究,主要是可从中感受到一些解决矛盾问题的原则和思路:
- 对于无法一击致命的问题,可以采取分而治之,可水平分层(如存储结构),也可垂直按领域分(如BASE)
- 抓主要矛盾,在次要矛盾上进行可妥协性解决
- 各尽其能,组合其优。系统各个部分都有其优势和劣势,架构的关键在于找一种组合,尽可能地体现出各个部分的优点,并规避其缺点,往往可把一堆残缺物变成一个完美的整体,其实也可把这个原则用于团队组建和管理上。
转自: http://blog.csdn.net/cutesource/article/details/5744248
分享到:
相关推荐
在实践中,分布式存储架构的实施要处理包括数据一致性、系统同步与异步操作、故障检测与恢复、数据分片和复制策略、以及负载均衡等多方面问题。为了保证数据一致性和系统可靠性,分布式存储系统通常会采用数据副本的...
根据提供的标题、描述以及部分内容,本文将围绕“分布式架构存储实践”这一主题展开,并深入探讨分布式存储中的关键概念和技术。 ### 分布式架构存储实践 #### 概览 分布式存储系统是通过网络连接多台计算机共同...
### 分布式系统CAP理论模型 #### 一、引言 在分布式系统设计与实现的过程中,CAP理论...通过深入了解CAP理论的基本概念及其背后的权衡关系,可以有效地指导分布式系统的架构设计,构建出既高效又可靠的分布式应用。
- **Linux文件系统缓存**:操作系统层面的缓存机制,可以显著提升文件系统的读写性能。例如,SATA II硬盘的IOPS大约为90,而固态硬盘SSD的IOPS则可高达8600以上。 - **有用的性能数字**:这些数字包括各种操作的时间...
《大规模分布式存储系统原理解析与架构实战》一书深入探讨了在大数据时代,如何设计、构建和管理高效可靠的分布式存储系统。这本书是大数据技术丛书中的一部重要作品,提供了高清的文字版PDF阅读体验,旨在帮助读者...
- **CAP理论**:强调在分布式系统设计中需要权衡可用性、扩展性和一致性之间的关系。 - **可用性**:系统在任何情况下都能返回一个结果。 - **扩展性**:系统能适应不断增长的数据量和用户量。 - **一致性**:...
【数据的权衡和折腾1】这篇文章探讨了在互联网架构设计中如何在数据处理和存储方面做出权衡,以及在数据流转过程中所遇到的挑战。文章由朱晔分享的互联网架构实践心得构成,重点关注了空间与时间的权衡、一致性和...
从给定的文件信息中,我们可以获得了 Twitter 千万 QPS 分布式系统的架构设计和高效运维的相关知识点,涵盖了分布式系统架构设计、高效运维、数据库设计、CAP 定理、分布式数据库、Manhattan 存储引擎、架构设计原则...
系统结构是计算机科学中的核心课程,它涉及到计算机硬件和软件之间的交互,以及计算机系统的整体设计原理。这份"系统结构的一些复习试卷"包含了丰富的学习材料,旨在帮助学生深入理解和掌握这一领域的关键概念。试卷...
5. **Linux内核与操作系统**:学习内存映射、内核同步、进程管理等操作系统基础知识。 四、面试算法篇 1. **数据结构与算法**:涵盖时间复杂度、空间复杂度、排序算法、位运算、递归、贪心算法、动态规划等核心算法...
《分布式操作系统(2008)》这本书深入浅出地讲解了这些概念和技术,并通过实例分析和案例研究,帮助读者理解和应用分布式系统。无论你是初学者还是有经验的开发者,都能从中受益匪浅,提升自己的分布式系统设计和开发...
3. **CAP的变体:BASE理论**:在大型分布式系统中,由于CAP的局限,提出了BASE理论,即基本可用(Basically Available)、软状态(Soft State)和最终一致(Eventual Consistency),强调在大规模分布式系统中牺牲强...
在构建大型分布式网站架构时,我们面临的主要挑战是如何处理高并发访问、数据存储与处理的扩展性、系统可用性和容错性。以下是对这些关键知识点的详细解释: 1. 分布式架构基础: 分布式架构是将单一应用程序拆分...
在高并发环境下,CAP理论和BASE原则是设计分布式系统的基础。CAP强调一致性、可用性和分区容忍性之间的权衡,而BASE则提出了基本可用、软状态和最终一致性的理念。 监控和日志管理也是大型网站架构不可或缺的部分,...
在分布式系统中,CAP(Consistency、Availability、Partition Tolerance)原则指出,一个分布式系统无法同时满足一致性、可用性和分区容错性这三个特性。在设计分布式云存储系统时,通常需要在一致性与可用性之间...
CAP定理由Eric Brewer在2000年代初提出,它是分布式数据库和存储系统设计的重要指导原则。这个定理指出,在网络分区的情况下,一个分布式系统无法同时保证数据的一致性、可用性和分区容错性。简单来说: 1. **一致...
然而,在大规模网站架构中,为了应对分布式环境的挑战,通常会采用CAP原则,它强调一致性、可用性和分区容错性。由于在分布式系统中无法同时满足这三个特性,所以通常需要在可用性和一致性之间做出权衡,这就是BASE...
Redis是一个非常流行的开源数据结构存储系统,它采用ANSI C语言编写而成,能够支持网络通信,并且可以根据需求选择内存或磁盘作为主要存储介质。由于其高效、灵活的特性,Redis成为众多应用场景中的首选解决方案。 ...