可伸缩性架构设计new

可伸缩性架构设计new

ID:34472230

大小:316.44 KB

页数:12页

时间:2019-03-06

可伸缩性架构设计new_第1页
可伸缩性架构设计new_第2页
可伸缩性架构设计new_第3页
可伸缩性架构设计new_第4页
可伸缩性架构设计new_第5页
资源描述:

《可伸缩性架构设计new》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、可伸缩性架构设计谢新华一、项目概念目标客户是历史上具有悠久的传统和成就的大公司,原来的管理和设计模式上采用层次化垂直结构,利用这种结构打造了一个具有固定业务、确定交互、可以重复执行的高效企业模型,这个模型曾经是高效率的也是正确的。但是近年以来,随着用户对产品更新换代的要求越来越快、质量要求越来越高、竞争日益剧烈、外部压力日益增长,迫使这个企业在管理模型上重新定位,打碎长久以来形成的垂直结构,保证产品需要具有多样性、弹性和专业性,逐步相成一种趋向于水平集成的业务模型,也就形成了企业重构的趋势。这种企业业务模型的解构趋势,也就是各个企业将根据自己的能力进行业务上的专业化分

2、工。让一个企业主要专注于自己的核心业务,核心业务以外的任务将外包给第三方来提供实际的支援和交付,每个第三方再将重点放在提高自身的核心服务上。他们认为,这种由业务伙伴、供应商和客户形成的更多合作与互动,将会使他们向新的业务空间发展,并以更快的速度和更高的质量,为客户提供更加先进的设计和产品。于是,当初封闭的企业内设计管理模式,无法应用于异地合作方协调设计环境,这就需要搭建基于互联网的合作方协同沟通平台,让部件设计合作方在早期就介入产品的研发过程,以缩短主要设计部门和合作方的沟通时间,提高合作方在新产品设计中的响应能力,实现各方共赢的局面。可见这个软件产品对于用户具有相当

3、大的价值,是值得认真对待的。为此,项目组为项目起了一个好听的名字:Acura,给项目起合理的名字非常重要,因为人类就是一个喜欢命名的生物。如果你认真给项目起名字,就意味着你非常在意这个项目,并且会仔细思考认真呵护这个项目。后续的所有人员包括编码员、测试人员等都会认真地给变量或者方法命名,使项目的可读性增加而且整洁,清洁的产品将从命名开始。项目的初步架构概念如下图所示。系统中各独立部分的位置关系体现为传统的分层结构,而整体上用服务的特征来分布,1而服务又分为栈服务与元服务两个层次,如下图所示。注意,前期并不需要做庞大的前端设计,而只需要一个简单的概念模型。图中的这些大块

4、,可以随着功能模块的添加而轻松的增长。这种基于服务的架构使得每一部分保持高的内聚,并尽可能减少相互间的耦合,开发每一部分的程序人员并不需要过多的关注其他部分,增强了系统的可理解性,而且开发的专业性很集中,也保持了概念上的一致性。这个架构虽然很基本,但是却为增长提供了坚实的基础。回想前面的例子,那个系统没有总体规划,只是在方便的地方嫁接和修补功能。这里之所以称之为规划,是因为初始设计需要一定的抽象性,而不是面面俱到。二、可伸缩性架构设计问题1,为什么要考虑可伸缩型问题在进行Acura系统初始概念确定之后,我们需要对某些宏观架构概念作更细腻的分析。一个需要集中思考的问题,

5、就是如何确保系统在伸缩的时候的弹性。随着越来越多的系统在互联网上提供访问,伸缩性变得越来越重要。因此在这个项目中,我们对系统的可伸缩性问题作了更加深入的讨论,从而改变了初期确定的架构。为什么要研究可伸缩性问题呢?1)系统处于极其容易变化的环境中,难以进行初期的容量规划当一个系统处于极其容易变化的环境中时,初期的容量规划有时显得比较荒谬,因为到底系统运行后会发生什么?谁也无法预料。2)系统规模和特征可能会发生变化对于一个水平模型大型离岸合作方协同设计系统,初期的合作方可能比较少,关系也比较简单。到后来可能有相当多的合作方形成巨大的商业设计网络。在商业运营进一步开展的过程

6、中,这些合作方在数量和业务范围上还会发生许多变化。与普通Web系统只是提供静态内容不同,这些合作方的每一个相关用户,不但需要与中央企业进行交互,也需要彼此之间进行交互(例如在三维空间中修改设计、相互探讨)。这类交互使得这类系统伸缩性问题变得更加复杂。3)系统的应用特点是并行性对于任意两个参与者,在某个时间进行交互的可能性是比较小的,但几乎所有的人员在所有的时刻都在与他人进行交互。因此这样的系统并行程度将会相当高,而且只有少数交互是相互依赖的。另一方面,一个员工的意外动作使服务器崩溃,将可能影响相当多的人的工作。如果相关人员的数目达到了上万级,伸缩的能力就成了任何架构的

7、首要需求。2,系统设计的背景1)伸缩性架构设计需要包含多台服务器2正是因为上述考虑,在创建Acura项目的时候,我们意识到的第一件事情就是凡是伸缩性架构设计都需要包含多台服务器。即使单台大型服务器能够处理这个负载,一开始就架设大型服务器在经济上是不可行的。因为我们不能断定,在建立水平商业模型的时候,是不是一开始就那么成功,万一规模不够,就会造成巨大经济损失。另一方面,也不清楚在将来商业模型发生变化的时候,这样的大型服务器是不是还能发挥作用。2)我们赌的是未来发展方向是并发而不是速度另一方面,我们也要看到了芯片架构发展的趋势。客户个人电脑中CPU、内存

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。