当前位置:网站首页>Talk about scalability

Talk about scalability

2022-07-04 10:16:00 JoesonChan

Translated from :https://www.allthingsdistributed.com/2006/03/a_word_on_scalability.html ( Warner · Borges  CTO - Amazon.com

Scalability is often used as a magic spell , To show that something is improperly designed or damaged . In discussion , You often hear “ But on a small scale ” As a magic word to end the argument . This usually indicates that developers are experiencing a situation where the system architecture limits their ability to grow Services . If you use scalability in a positive sense , It usually indicates the required attributes , for example “ Our platform needs good scalability ”.

What do we really mean by scalability ? If we increase resources in the system to improve performance in proportion to the added resources , Then the service is called scalable . Usually , Improving performance means serving more units of work , But it can also handle larger units of work , For example, when the data set grows .

In distributed systems , There are other reasons to add resources to the system . for example , To improve the reliability of the services provided . The introduction of redundancy is an important first line of defense against failure . Adding resources to promote redundancy will not result in performance loss , It means that the always online service is scalable .

Why is scalability so difficult ? Because scalability is not an afterthought . It requires that extensibility be considered when designing applications and platforms , So that adding resources can actually improve performance , Or if redundancy is introduced , It will not adversely affect the system performance . If the request rate increases , Data sets increase or the number of nodes in the distributed system increases , Then many algorithms that perform well under low load and small data sets may lead to a surge in costs .

The second problem area is , Extending the system through horizontal expansion usually leads to the system having to be heterogeneous . With the launch of the next generation of hardware , When larger or more powerful resources become more cost-effective or when some resources are placed separately , The diversity of resources in the system also increases . Heterogeneity means that some nodes in the system will be able to process or store more data faster than others , And algorithms that rely on consistency may crash in these cases , Or underutilization of new resources .

Is it possible to achieve good scalability ? Absolutely , But the premise is that we should consider scalability when designing and designing the system . For the system we built , We must carefully check which axis we want the system to grow along , Where redundancy is needed and how to deal with heterogeneity in the system , And make sure that architects know which tools they can use under which tools . Conditions , And what are the common traps .

 

 

 

 

 

原网站

版权声明
本文为[JoesonChan]所创,转载请带上原文链接,感谢
https://yzsam.com/2022/02/202202141422236956.html