软件开发部
OA办公系统
进销存软件
CRM系统
定制开发
抚顺软件开发新员工培训会圆满
抚顺在线考试系统公开测试了
钢材进销存系统推出了
抚顺软件开发迎来新纪元
抚顺软件公司可伸缩性原则
抚顺软件公司对云计算三个现象
抚顺软件争做信息建设领头羊
软件公司与互联网的价值
抚顺软件开发的服务组织该怎么
中小企业进销存软件选型的普遍
抚顺软件开发中的bug排除
软件开发中资料的准备
当前位置:首页>>新闻中心
【抚顺软件公司可伸缩性原则】
来源:www.fswebsoft.com 发布者:领航科技  发布时间:2014-05-25 
 

从最简单的水平来看,可伸缩性就是做更多的事情。更多的事情可以是响应更多的用户请求,执行更多的工作,或处理更多的数据。设计软件这件事本身是复杂的,而让软件做更多的工作也有其特有的问题。下面,抚顺软件针对构建可伸缩软件系统提出了一些原则和方针。

1. 减少处理时间

抚顺软件开发增加应用所做工作数量的一个方法就是减少完成单项工作所花费的时间。举例来说,减少处理一个用户请求所需的时间意味着你能在同样长的时间内处理更多的用户请求。这里有一些本原则适用的例子和一些可能的实现策略。

并置(Collocation):通过并置数据和代码,减少因获取所需数据而产生的必要开销。
缓存:如果数据和代码不能并置,就缓存数据,以减少反复取数据的开销。
池化:通过池化昂贵的资源,减少与其使用相关的开销。
并行化:通过分解问题、并行化独立的步骤,减少完成一个工作单元所需的时间。
分区处理:通过分割处理代码、并置相关的分区,尽可能将相关的处理过程集中在一起。
远程处理:减少访问远程服务所花费的时间,比如可以通过更粗粒度地划分接口。远程还是本地是明确的设计决策,不能随意来回更动,这一点应当牢记。还要考虑分布式计算的第一准则——不要分布你的对象。
软件开发人员总爱在不需要的地方引入抽象和层。是的,这些概念对软件组件之间的解耦来说是很好的工具,但它们可能会增加复杂性、影响性能,尤其是在每层的数据表示之间都需要转换的情况下。因此,减少处理时间还要注意保证抽象不要过于抽象化,并且没有过多的分层。另外,对于我们视为理所当然的运行时服务,有必要理解其成本,因为除非它们提供了特定的服务水平协议,否则很有可能最终会成为应用中的瓶颈。

2. 分区

抚顺软件开发减少单个工作单元的处理时间能达到不错的效果,但当你达到单进程方案的极限,最终还是需要对系统作水平伸缩。在典型的Web应用中,水平伸缩可能很简单,只要加入更多的Web服务器来处理用户请求,再给它们加上负载均衡就行了。但是,你可能会发现总体架构的某些部分会成为资源争用的焦点,因为一切东西都会在同一时间变得忙碌起来。一个很好的例子就是所有Web服务器后端的单一数据库服务器。当这个单一的数据库服务器变成瓶颈时,你必须改变方法,其中一种方式就是采用分区策略。简而言之,这涉及到将架构的单个部分分解成更小、更容易管理的部分。将单个的元素分割成更小的部分能实现水平伸缩,这恰恰也是 eBay这样的大型网站采用、以此来确保它们的架构可伸缩的技术。分区是一个很好的解决办法,尽管你可能会发现牺牲了一致性。

抚顺软件公司至于如何分割你的系统,那要看情形而定。真正无状态的组件能简单地作水平伸缩,将工作负载分散到所有实例上,让组件的所有实例都能有效地运行。另一方面,如果需要维护某状态,你需要找到一种工作量分割策略能允许有状态组件的多重实例,让每个实例负责工作和/或数据的一个独特的子集。

3. 可伸缩性在于并发

可伸缩性天生就和并发联系在一起;毕竟,它就是要在同样的时间内做更多的工作。像EJB早期版本这样的技术试图提供一种简化的编程模型,鼓励我们编写单线程的组件。抚顺软件公司遗憾的是,组件往往要依赖于其它组件,还是导致了并发问题。如果没有考虑并发,系统中的数据会很容易被损坏。另一方面,围绕并发做了太多的保护会导致系统实质上变成串行的,限制了伸缩的能力。并发编程不是很难做到,在构建可伸缩系统的时候,有一些简单的原则会有所帮助。

如果你确实需要持有锁(比如本地对象、数据库对象等),抚顺软件公司试着尽可能短地持有它们。
设法减少对共享资源的争用,并尽可能是争用避开关键处理路径(比如通过异步调度工作)。
任何针对并发的设计都需要预先完成,以便能被充分地理解哪些资源可以被安全共享、哪里可能会是潜在的可伸缩性瓶颈。


下一篇:抚顺软件公司对云计算三个现象的思考
推荐文章

抚顺软件公司对云计算三个现象的思考 [2014-05-25]
抚顺软件争做信息建设领头羊 [2014-05-25]
抚顺软件开发新员工培训会圆满结束 [2014-05-25]
软件公司与互联网的价值 [2014-05-24]
谁将是2014年的抚顺软件开发的老大? [2014-05-24]
培养抚顺软件公司打造抚顺软件名城 [2014-05-24]
关于我们 - 客户留言 - 招商加盟 - 联系我们 Copyright @ 2012 Fswebsoft.com Inc. All Rights Reserved. 抚顺领航科技 版权所有