架构实际上一种权衡的艺术,它的美往往体现在众多矛盾体间的周旋和则中。可以说,没有最好的架构,只有最合适的架构。
在一些经典的系统中常常存在多个矛盾因素并存的情况,而这些系统的经典架构就反映出如何解决这些矛盾而相克的因素的方案,比如操作系统的存储结构和分布式系统中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与ACID原则转载整理......
应用的高可用要求,故障转移分布式系统遵循几个基本原则CAPTheorem,CAP原理中,有三个要素:1.一致性(Consistency)2.可用性(Availability)3.分区容忍性(Partitiontolerance)CAP原理指的是,在分布式系统中这三个...
业务多活架构和分布式CAP实战.docx
专栏共 50 期,主要分为 5 部分。 架构基础:将介绍架构设计的历史背景,阐述架构相关的概念以及架构设计的本质;... 架构实战:将理论与案例结合,在实战中落地专栏传递的架构原则、架构流程和架构模式。
protel 中的cap2
cap或pcap文件结构
发挥协同软件在组织模型、工作流、表单的优势,以及非结构化文档的录入、存储、归 类的能力,增加静态表单实现对业务的关键数据、指针的表达、实现和提取,支持业务工作 过程; 通过在同一个协同平台上构造业务...
这个是经典的CAP理论模型的介绍PPT。对研究分布式系统的人非常有用。
经典密码学CAP4
这是官方的用户手册,希望对mimicro cap 初学者有一琔的帮助。
这里主要介绍几种常见的架构设计理论和原则,常见于大中型互联系统架构设计。1、什么是CAP著名的CAP理论是由Brewer提出的,所谓CAP,即一致性(Consistency)、可用性(Availability)和分区容错性...
移动智能网络结构及其cap2信令培训.ppt
本书为分布式系统的CAP理论。无论你是一个架构师,还是一个普通开发,在设计或开发分布式系统的时候,不不可避免的要在CAP中 做权衡。需要根据⾃自⼰己的系统的实际情况,选择最适合自己的方案。
Linux下针对分布式系统的简单介绍以及分布式系统所依赖的CAP理论分析
bgp-con-nexthop-before.cap bgp-con.cap bgp-in.cap bgp-no-nei.cap bgp-simple.cap DHCP Client.cap dot1x-error.cap dot1x-login.cap dot1x-logina.cap eapol or eap or nbns-dot1x.cap gmrp.cap gvrp.cap h3...
WD 设置CAP和TPI
CAP定理指在设计分布式系统时,一致性(Consistent)、可用性(Availability)、Partition ...CAP定理明确了分布式系统所能实现系统的局限性,目前互联网中的很多分布式系统是基于首要满足可用性和分区容忍性而设计的
CAP437-2021
分布式数据和存储 分布式计算 集群 缓存 CDN 反向代理 本地缓存 分布式缓存 异步 冗佘 冷备份 主从分离,实时同步实现热备份 灾备数据中心 自动化 发布过程自动化 ant ...