当前位置:网站首页>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 .
边栏推荐
- Hands on deep learning (32) -- fully connected convolutional neural network FCN
- Hands on deep learning (46) -- attention mechanism
- Kotlin:集合使用
- C语言指针面试题——第二弹
- PHP代码审计3—系统重装漏洞
- Exercise 8-10 output student grades (20 points)
- [FAQ] summary of common causes and solutions of Huawei account service error 907135701
- Vs201 solution to failure to open source file HPP (or link library file)
- Hands on deep learning (41) -- Deep recurrent neural network (deep RNN)
- C # use smtpclient The sendasync method fails to send mail, and always returns canceled
猜你喜欢
Hands on deep learning (45) -- bundle search
Reasons and solutions for the 8-hour difference in mongodb data date display
基于线性函数近似的安全强化学习 Safe RL with Linear Function Approximation 翻译 2
MySQL develops small mall management system
Hands on deep learning (36) -- language model and data set
华为联机对战如何提升玩家匹配成功几率
C语言指针经典面试题——第一弹
uniapp 处理过去时间对比现在时间的时间差 如刚刚、几分钟前,几小时前,几个月前
【Day2】 convolutional-neural-networks
leetcode1-3
随机推荐
Basic principle of servlet and application of common API methods
【Day1】 deep-learning-basics
Hands on deep learning (46) -- attention mechanism
Devop basic command
Reprint: summation formula of proportional series and its derivation process
查看CSDN个人资源下载明细
Exercise 8-7 string sorting (20 points)
Ruby时间格式转换strftime毫秒匹配格式
C # use ffmpeg for audio transcoding
使用 C# 提取 PDF 文件中的所有文字(支持 .NET Core)
Summary of small program performance optimization practice
Kubernetes CNI 插件之Fabric
Dynamic memory management
Kotlin: collection use
Uniapp--- initial use of websocket (long link implementation)
PHP代码审计3—系统重装漏洞
What are the advantages of automation?
Number of relationship models
Log cannot be recorded after log4net is deployed to the server
MongoDB数据日期显示相差8小时 原因和解决方案