当前位置:网站首页>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 .
边栏推荐
- Histogram equalization
- Ruby time format conversion strftime MS matching format
- 用数据告诉你高考最难的省份是哪里!
- C language pointer classic interview question - the first bullet
- System. Currenttimemillis() and system Nanotime (), which is faster? Don't use it wrong!
- [FAQ] summary of common causes and solutions of Huawei account service error 907135701
- Deep learning 500 questions
- uniapp 小于1000 按原数字显示 超过1000 数字换算成10w+ 1.3k+ 显示
- libmysqlclient.so.20: cannot open shared object file: No such file or directory
- Kotlin:集合使用
猜你喜欢
![[200 opencv routines] 218 Multi line italic text watermark](/img/3e/537476405f02f0ebd6496067e81af1.png)
[200 opencv routines] 218 Multi line italic text watermark

How web pages interact with applets

Summary of small program performance optimization practice

Hands on deep learning (42) -- bi-directional recurrent neural network (BI RNN)

Debug:==42==ERROR: AddressSanitizer: heap-buffer-overflow on address

PHP code audit 3 - system reload vulnerability

libmysqlclient.so.20: cannot open shared object file: No such file or directory

leetcode1-3

MySQL develops small mall management system

C语言指针面试题——第二弹
随机推荐
Fabric of kubernetes CNI plug-in
AUTOSAR从入门到精通100讲(106)-域控制器中的SOA
Exercise 7-8 converting strings to decimal integers (15 points)
AUTOSAR from getting started to mastering 100 lectures (106) - SOA in domain controllers
C语言指针经典面试题——第一弹
uniapp---初步使用websocket(长链接实现)
Golang type comparison
【FAQ】华为帐号服务报错 907135701的常见原因总结和解决方法
Machine learning -- neural network (IV): BP neural network
有老师知道 继承RichSourceFunction自定义读mysql怎么做增量吗?
按键精灵打怪学习-识别所在地图、跑图、进入帮派识别NPC
【Day1】 deep-learning-basics
2. Data type
MATLAB小技巧(25)竞争神经网络与SOM神经网络
Nuxt reports an error: render function or template not defined in component: anonymous
SQL replying to comments
Some summaries of the third anniversary of joining Ping An in China
How can Huawei online match improve the success rate of player matching
Kubernetes CNI 插件之Fabric
基于线性函数近似的安全强化学习 Safe RL with Linear Function Approximation 翻译 2