当前位置:网站首页>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 .
边栏推荐
- Debug:==42==ERROR: AddressSanitizer: heap-buffer-overflow on address
- Golang Modules
- Work order management system OTRs
- 转载:等比数列的求和公式,及其推导过程
- Legion is a network penetration tool
- How to teach yourself to learn programming
- Kotlin: collection use
- Hands on deep learning (37) -- cyclic neural network
- Hands on deep learning (42) -- bi-directional recurrent neural network (BI RNN)
- Log cannot be recorded after log4net is deployed to the server
猜你喜欢
Application of safety monitoring in zhizhilu Denggan reservoir area
Normal vector point cloud rotation
Safety reinforcement learning based on linear function approximation safe RL with linear function approximation translation 1
Tables in the thesis of latex learning
Hands on deep learning (36) -- language model and data set
MySQL develops small mall management system
今日睡眠质量记录78分
For programmers, if it hurts the most...
【OpenCV 例程200篇】218. 多行倾斜文字水印
How can people not love the amazing design of XXL job
随机推荐
MySQL case
7-17 crawling worms (15 points)
El Table Radio select and hide the select all box
C # use smtpclient The sendasync method fails to send mail, and always returns canceled
Histogram equalization
On Multus CNI
JDBC and MySQL database
Machine learning -- neural network (IV): BP neural network
Hands on deep learning (45) -- bundle search
Exercise 9-1 time conversion (15 points)
System.currentTimeMillis() 和 System.nanoTime() 哪个更快?别用错了!
Does any teacher know how to inherit richsourcefunction custom reading Mysql to do increment?
入职中国平安三周年的一些总结
Exercise 9-5 address book sorting (20 points)
Legion is a network penetration tool
Kotlin set operation summary
Use the data to tell you where is the most difficult province for the college entrance examination!
Latex insert picture, insert formula
Service developers publish services based on EDAs
Tables in the thesis of latex learning