gpt4 book ai didi

hardware - 网站硬件扩展

转载 作者:行者123 更新时间:2023-12-01 07:09:12 24 4
gpt4 key购买 nike

所以我在听最新的 Stackoverflow 播客 (episode 19),Jeff 和 Joel 谈到了随着网站的增长扩展服务器硬件的问题。根据乔尔所说,前几步非常标准:

  • 一台服务器同时运行网络服务器和数据库(当前的 Stackoverflow 设置)
  • 一台网络服务器和一台数据库服务器
  • 两台负载均衡的网络服务器和一台数据库服务器

  • 不过,他们并没有过多谈论接下来会发生什么。你添加更多的网络服务器吗?另一个数据库服务器?在不同的数据中心复制这个三机集群以实现冗余?硬件部门的网络创业公司何去何从?

    最佳答案

    支持“普通”Web 应用程序的合理设置可能会演变如下:

  • 单个组合应用/数据库服务器
  • 不同机器上的独立数据库
  • 具有 DNS 循环(穷人的负载平衡)的第二个应用程序服务器,或者,例如Perlbal
  • 其次,复制数据库服务器(对于读取负载,需要一些应用程序逻辑更改,以便符合条件的数据库读取转到从服务器)

  • 在这一点上,评估当前的事态将有助于确定更好的扩展路径。例如,如果读取负载很高并且内容不会经常更改,则最好强调缓存并引入专用的前端缓存,例如 Squid避免不必要的数据库读取,尽管您需要考虑如何维护 cache coherency ,通常在应用程序中。

    另一方面,如果内容经常发生合理的变化,那么您可能更喜欢更分散的解决方案;引入更多应用服务器和数据库从属以帮助减轻影响,并使用对象缓存,例如 memcached避免访问数据库以获取不稳定的内容。

    对于大多数站点,这可能就足够了,尽管如果您确实成为一种全局现象,那么您可能会开始考虑在区域数据中心安装硬件,并使用地理负载平衡等技巧将访问者引导至最近的“集群” ”。到那时,您可能会聘请能够真正微调事物的工程师。

    我能想到的最有值(value)的扩展建议可能是避免过早担心它;专注于开发人们想要使用的服务,并使应用程序相当健壮。一些简单的早期优化是确保您的数据库设计相当可靠,并且设置了索引,这样您就不会做任何令人痛苦的疯狂事情;此外,请确保应用程序发出缓存控制 header ,以指导浏览器如何缓存数据。在设计的早期进行此类工作可以在以后产生好处,尤其是当您不必重新处理整个事情来处理缓存一致性问题时。

    我想提出的第二个最有值(value)的建议是,你不应该假设对其他网站有用的东西对你也有用;检查您的日志,对您的流量进行一些分析并分析您的应用程序 - 查看您的瓶颈所在并解决它们。

    关于hardware - 网站硬件扩展,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36534/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com