当前位置:网站首页>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 .
边栏推荐
- Press the button wizard to learn how to fight monsters - identify the map, run the map, enter the gang and identify NPC
- Golang defer
- leetcode1-3
- System.currentTimeMillis() 和 System.nanoTime() 哪个更快?别用错了!
- Servlet基本原理与常见API方法的应用
- Velodyne configuration command
- View CSDN personal resource download details
- Laravel文档阅读笔记-How to use @auth and @guest directives in Laravel
- How to teach yourself to learn programming
- Hands on deep learning (III) -- Torch Operation (sorting out documents in detail)
猜你喜欢
[FAQ] summary of common causes and solutions of Huawei account service error 907135701
MATLAB小技巧(25)竞争神经网络与SOM神经网络
Write a mobile date selector component by yourself
C # use gdi+ to add text to the picture and make the text adaptive to the rectangular area
百度研发三面惨遭滑铁卢:面试官一套组合拳让我当场懵逼
Summary of reasons for web side automation test failure
Baidu R & D suffered Waterloo on three sides: I was stunned by the interviewer's set of combination punches on the spot
Hands on deep learning (45) -- bundle search
Custom type: structure, enumeration, union
Hands on deep learning (39) -- gating cycle unit Gru
随机推荐
Legion is a network penetration tool
El Table Radio select and hide the select all box
Qtreeview+ custom model implementation example
PHP代码审计3—系统重装漏洞
libmysqlclient. so. 20: cannot open shared object file: No such file or directory
Hands on deep learning (38) -- realize RNN from scratch
Latex insert picture, insert formula
入职中国平安三周年的一些总结
转载:等比数列的求和公式,及其推导过程
Exercise 9-3 plane vector addition (15 points)
技术管理进阶——如何设计并跟进不同层级同学的绩效
Golang type comparison
Modules golang
leetcode1-3
Advanced technology management - how to design and follow up the performance of students at different levels
AUTOSAR from getting started to mastering 100 lectures (106) - SOA in domain controllers
Machine learning -- neural network (IV): BP neural network
Laravel文档阅读笔记-How to use @auth and @guest directives in Laravel
How do microservices aggregate API documents? This wave of show~
Application of safety monitoring in zhizhilu Denggan reservoir area