-
什么是系统的可扩展性?
到底什么是可扩展性
?这年头,作为软件设计架构师如果系统没有可扩展性对外交流时都不好意思。但是
如何
选择可扩展性方案?水平扩展还是垂直扩展?是不是很矛盾呢,本文为你分析可扩展性的真实含义和
实际项目中的取舍。
When asked
what they mean by scalability, a lot of people
talk about improving
performance, about
implementing HA, or even talk about a particular
technology
or protocol. Unfortunately,
scalability is none of that.
Don
’
t get me wrong. You
still need to know all about speed,
performance, HA technology, application
platform, network, etc. But that is not
the definition of scalability.
每每和别人提及可扩展性的含义时,很多人开始讨论提高性能,实施高可
用性,甚至谈论特定的技术或协议。显然这些并不是可扩展性。不要误会,您
当
然需要了解关于速度,性能,可用性,应用平台,网络等相关的一切,但这
并非可扩展性
的定义。
Scalability, simply, is
about doing what you do in a bigger way. Scaling a
web
application is all about allowing
more people to use your application. If you
can
’
t
figure out
how to improve performance while scaling out, its
okay. And as long as
you can scale to
handle larger number of users its ok to have
multiple single
points of failures as
well.
简单地说,可扩展性就是关于如
何处理更大规模的业务。比如,
Web
应用
程序就是允许更多的人使用你的服务。如果你不能弄清楚如何提高性能的同时
向外扩
展,没关系。只要你能处理更大规模的用户,即使是存在多个单点故障
也没有问题。
p>
There are two key primary
ways of scaling web applications which is in
practice
today.
在今天实践中有两个关键的缩放
Web
应用程序
的方式:垂直扩展和水平
扩展。
“
Vertical
Scalability
”
–
Adding resource within the
same logical unit to increase
capacity.
An example of this would be to add CPUs to an
existing server, or
expanding storage
by adding hard drive on an existing RAID/SAN
storage.
“
垂直扩展
“
-
在同一个逻辑单位添加资源以增加容量。这样的例子比比皆是,
比如升级服务器的
CPU
,比如在
RAID/ SAN
存储设备上增加硬盘。
“
Horizontal
Scalability
”
–
Adding multiple logical
units of resources and making
them work
as a single unit. Most clustering solutions,
distributed file systems,
load-
balancers help you with horizontal scalability.
“
横向扩展
“
-
增加多个逻辑单元资源并且使他们作为一
个整体在工作。大多
数的集群解决方案,比如分布式文件系统,负载均衡都是通过横向扩
展技术来
进行的。
Every
component, whether its processors, servers,
storage drives or load-balancers
have
some kind of management/operational overhead. When
you try to scale that,
its important to
understand what percentage of the resource is
actually usable.
This measurement is
called
“
scalability
factor
“
. If you loose 5% of
a processor
power every time you add a
CPU to your system, then your
“
scalability
factor
”
is
0.95.
A scalability factor of 0.9 means you will only be
able to use 90% of the
resource.
每一个部件,无论它是处理器,服务器,存储
驱动器或负载均衡有一定的
管理上或者操作上的开销。当您尝试进行扩展时,很重要的一
点是要了解实际
的资源利用率,这种测量方法被称为
“
可扩展性因子
“
法。如果每添加一个
CPU
到系统,都会失去
5
%的处理器功率,那么您的可扩展性系数为
0.95
。当可扩
展系数为
0.9
时,意味着你将只能使
用
90
%的资源。
Scalability can be further sub-
classified based on the
“
scalability
factor
”
.
以
“
可扩展性因子
“
为基础,可扩展性可以进一步细化分类。
If the scalability factor stays
constant as you scale. This is called
“
linear
scalability
“
.
如果你的可扩展性系数保持不变,这就是所谓的
“
线性的可扩展性
“
。
But chances are that some components
may not scale as well as others. A
scalability factor below 1.0 is
calleub-linear scalability
“
.
但某些组件有可能无法像别人一样可以扩展,
该系数低于
1.0
的就是所谓
“
分线性可扩展性。
“
-
-
-
-
-
-
-
-
-
上一篇:微观经济学试题英文版
下一篇:imageJ功能简单解析