真正的缩放是什么?

2024-03-21

我听说人们说他们已经制作了一个可扩展的 Web 应用程序..

  1. 真正的缩放是什么?

  2. 开发人员可以采取哪些措施来使其应用程序具有可扩展性?

  3. 开发人员在扩展过程中会考虑哪些因素?

  4. 有关使用 ASP.NET 和 SQL Server 扩展 Web 应用程序的任何提示和技巧...


真正的缩放是什么?

扩展是指应用程序的容量和/或使用率的增加。

开发人员如何使他们的应用程序可扩展?

要么允许他们的应用程序垂直或水平扩展。

水平扩展是指并行地做事情。

垂直扩展是为了更快地做事。这通常意味着更强大的硬件。

通常,当人们谈论水平可扩展性时,理想的情况是拥有(近)线性可扩展性。这意味着,如果一台价值 5,000 美元的生产设备可以处理 2,000 个并发用户,那么再添加 4 个设备就可以处理 10,000 个并发用户。越接近这个数字越好。

高度可扩展的应用程序的理想目标是具有近乎无限的近线性水平可扩展性,这样您只需插入另一个盒子,您的容量就会按预期增加,而几乎没有或没有收益递减。

理想情况下,冗余也是问题的一部分,但这通常是一个单独的问题。

这种可扩展性的典型代表当然是谷歌。

开发人员在扩展过程中会考虑哪些因素?

  • 应该规划多大的规模?花时间和金钱去解决你永远不会遇到的问题是没有意义的;
  • 垂直扩展是否可能和/或经济?这是首选选项,因为它通常便宜得多(短期内);
  • 让您的应用程序能够水平扩展是否值得(通常是巨大的)成本?分布式/多线程应用程序是显著地写起来更困难、更昂贵。

有关扩展 Web 应用程序的任何提示和技巧...

Yes:

  1. 不要担心你永远不会遇到的问题;
  2. 不要太担心你不太可能遇到的问题。很可能事情早在你拥有之前就已经改变了。
  3. 不要害怕扔掉代码并重新开始。自动化测试使这变得更加容易;和
  4. 考虑一下开发人员的时间是昂贵的。

(4)是关键点。您可能有一个写得不好的应用程序,需要 20,000 美元的硬件才能基本修复。现在20,000美元可以买一台lot的电源(64+GB RAM、4 个四核 CPU 等),可能超过 99% 的人都需要。这样做更便宜,还是花 6 个月重写和调试新应用程序以使其更快?

这很容易成为第一个选择。

所以我将在我的列表中添加另一个项目:务实.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

真正的缩放是什么? 的相关文章

  • Relational DB vs. Key-Value store

    在我还在上学的时候 key value这个词更多的还是和hash表联系在一起的 而现在 当我看见key value这个词 马上联想到的就是 BigTable SimpleDB和云计算 当下 key value store 或者叫key va
  • 数据库分片和分区资源

    我正在使用遇到可扩展性问题的数据库模式 该架构中的一个表已增长到大约 1000 万行 我正在探索分片和分区选项 以允许该架构扩展到更大的数据集 例如 10 亿到 1000 亿行 我们的应用程序还必须可部署到多种数据库产品上 包括但不限于 O
  • 如何扩展 Quartz 调度程序?

    我计划使用石英调度器因为我读到了很多关于它的好意见 我的问题如下 在任何给定时间 系统中都会有数千个触发器 大多数触发器只会触发一个事件并消失 此外 我很可能在分配后不得不取消许多工作 基于新的输入 Quartz 可以扩展到这个程度吗 推荐
  • 如何让 RabbitMQ 具有可扩展性?

    我尝试测试RabbitMQ 但发现rabbitmq存在一些问题 如果我创建了一个包含 3 个节点的集群 我无法发布 交付超过 6000 s 另一方面 如果我使用一个节点 我可以发布 交付直到 25000 s 这意味着 添加的节点越多 性能就
  • 自动完成的算法?

    我指的是当用户在 Google 中输入搜索词时用于提供查询建议的算法 我主要感兴趣的是 1 最重要的结果 最有可能的查询而不是任何匹配的结果 2 匹配子串 3 模糊匹配 我知道你可以使用 Trie 或广义 trie 来查找匹配项 但它不能满
  • 设计模式或代码味道,功能分解导致的非规范化数据

    我是以下的忠实粉丝http highscalability com http highscalability com 并且一直在我当前的开发中沿着功能边界分解我的应用程序 作为能够扩展服务器端 特别是数据库层 的途径 这涉及到将应用程序的不
  • 当人们谈论使用“分片”扩展网站时,他们是什么意思?

    我曾多次听到关于解决大型网站的扩展问题的 分片 技术 这种 碎片 技术是什么 为什么它这么好 卡尔 塞金有一个好博客 http codebetter com blogs karlseguin archive 2008 06 30 scale
  • AWS EC2 中的 MySQL - 它如何扩展?

    当您不再只使用一个数据库实例时 使用 EC2 时的最佳实践是什么 如果第一个实例是主实例并且您正在启动从属实例 那么它们需要扫描事务日志并在从属实例可用之前使自己保持最新状态 对吗 如果主人跑了一段时间很忙 这可能会花很长时间 对吗 在 E
  • 最终 GAE 与 AWS 架构决策

    我知道以前有人以这样或那样的方式问过这个问题 但与 GAE 稳定性有关的大多数主要问题似乎是在 2008 年底 2009 年初左右提出的 或者与大规模游戏没有直接关系 我认为 有兴趣 基本上 我一直在与我的业务合作伙伴反复争论是否使用 GA
  • 并行代码可扩展性差

    最近我一直在分析我的并行计算在 16 核处理器上实际上是如何加速的 我得出的一般公式 线程越多 每个核心的速度就越慢 让我很尴尬 以下是我的CPU负载和处理速度的图表 因此 您可以看到处理器负载增加 但速度增加得慢得多 我想知道为什么会发生
  • Web 应用程序的可扩展性和性能、方法?

    您使用了哪些方法和技术来成功解决网站的可扩展性和性能问题 我是一名 ASP NET Web 开发人员 正在探索使用 WCF 和 SQL 集群进行 NET 远程处理 并且很好奇存在哪些其他方法 例如 云 在哪种情况下 您会应用各种方法 例如
  • MVC 的缓存层 - 模型还是控制器?

    我正在重新考虑在哪里实现缓存部分 您认为最合适的实施地点在哪里 在每个模型中 还是在控制器中 方法 1 伪代码 mycontroller php MyController extends Controller class function
  • 为什么我的 scala future 效率不高?

    我在 32 位四核 Core2 系统上运行此 scala 代码 def job i Int s Int Long val r i to 500000000 by s map toLong foldLeft 0L println Job i
  • 如何解决 Argo 输出参数大小限制?

    我有一个在 JSON 数组上循环的 Argo 工作流程 当列表变得太大时 我会收到如下错误 time some time level fatal msg Pod some pod name is invalid metadata annot
  • Tomcat 使用 Jersey Jax-RS 在单个服务器上每秒执行 15K 请求

    我尝试在 VPS 上进行测试 每秒接近 10K 请求 这是一个simple hello world servlet 更不用说调用 membase 了 我的 VPS 是 2 个 Intel Xeon X5570 四核 Nehalem 架构 注
  • 将可扩展性设计到应用程序中

    这句话是什么意思 将可扩展性设计到应用程序中 是否存在可以使应用程序更具可扩展性的设计模式 这个问题主要针对 Web 应用程序或基于 SOA 中间件的应用程序 当我想到 大规模应用程序 时 我想到了三个截然不同的事情 将在大型横向扩展集群
  • Nodejs回调机制——哪个线程处理回调?

    我是 NodeJS 的新手 对 Node js 的单实例模型感到好奇 在一个简单的nodeJs应用程序中 当使用回调异步处理某些阻塞操作时 运行nodeJs的主线程是否也会处理回调 如果请求是从数据库中获取一些数据 并且有 100 个并发用
  • 对于动态、个性化的 Web 应用程序来说,多长的响应时间才被认为是良好的响应时间? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 可扩展性和弹性有什么区别?

    我听说很多人交替使用这两个术语 但在我看来 它们之间还是有区别的 可扩展性 的能力软件系统在其当前硬件资源上处理更大的工作负载 scale up 或当前和额外的硬件资源 向外扩展 应用程序服务不中断 弹性 的能力硬件层下面 通常是云基础设施
  • 构建可扩展 Web 应用程序的书籍? (数据库性能/调优、网络、一般性能等)[关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 从计算机科学专业毕业并作为一名从事 Web 应用程序的软件工程师进入 现实世界 后 我对如何正确扩展 W

随机推荐