gpt4 book ai didi

php - 负载平衡 - 如何正确设置?

转载 作者:太空宇宙 更新时间:2023-11-03 15:04:19 25 4
gpt4 key购买 nike

这里有点复杂。我在过去几个月里完成了一个更大的基于 Web 的项目,并且由于我试图保持较低的预算(并自己学习一些东西)我没有触及我以前从未触及的问题:使用 NGINX 进行负载平衡,以及 future 的可扩展性。

设置如下:1 网络服务器1 台数据库服务器1 文件服务器(也用于存储备份)

在 fastCGI 上使用 PHP 5.4

现在,所有这些服务器都应该是“可扩展的”- 从某种意义上说,如果可用磁盘空间越来越低,我可以添加一个新的文件服务器,或者如果我需要处理比预期更多的请求,我可以添加一个新的 Web 服务器。

另一件事是:我想在一个域上做所有事情,这样在前端就不会真正注意到对不同后端服务器的访问(一些后端服务器基本上是通过子域调用的 - 例如:文件服务器,通过'http ://file.myserver.com/...' 仅在文件服务器之间进行负载平衡)

  1. 我是否需要额外的独立服务器来实现负载平衡?或者我可以只使用其中一个网络服务器吗?如果是:
    • 这样的负载平衡服务器需要多少功率(CPU/RAM)?它是否必须与网络服务器相同,或者拥有一个“更轻”的服务器就足够了吗?
    • “负载平衡”服务器是否也必须具有可扩展性?如果请求太多,我是否需要多个?
  2. 整个负载平衡到底是如何工作的?我的意思是说:
    • 我看到许多条目指出,在负载平衡系统上存在一些问题,例如 session 处理/同步。我可以找到 2 个可能适合我需要的解决方案:用户总是被定向到同一台机器,或者数据存储在数据库中。但是对于第二个,我基本上必须重建 PHP 已经具有的 $_SESSION 功能的一部分,对吗? (我怎么知道什么用户获得了 session ,cookie 真的足够了吗?)
    • 除了不同步的 session 外,我还会遇到什么问题?
  3. 编写可扩展的代码——这是我经常读到的一句话。但是,例如,就 PHP 而言,它的真正含义是什么?通常,一个用户的整个计算只发生在一台服务器上(NGINX 将用户重定向到的那台服务器)——那么 PHP 本身如何具有可扩展性,因为它实际上并没有被 NGINX 重定向?
  4. 是否可以使用不同的“负载平衡”池?我的意思是,所有文件服务器都在一个“池”中,所有 Web 服务器都在一个“池”中,基本上,如果您在文件服务器上请求一个有太多工作要做的图像,它会重定向到一个不太忙的文件服务器
  5. SSL - 余额加载服务器只需要一个证书,对吗?由于数据总是通过负载平衡服务器返回 - 或者它究竟是如何工作的?

我知道这是一个很大的问题 - 基本上,我真的只是在寻找一些建议/和一些帮助,我对整个事情有点迷茫。我可以阅读部分回答上述问题的片段,但真正“做”它完全是另一回事。所以我已经知道不会有一个明确的、确定的答案,但也许有一些经验。

最终目标是在未来易于扩展,并且已经提前计划好(甚至购买负载均衡服务器之类的东西)。

最佳答案

您可以使用其中一台 Web 服务器进行负载平衡。但是在单独的机器上设置平衡会更可靠。如果您的网络服务器响应不是很快并且您收到很多请求,那么负载均衡器会将请求设置在队列中。对于大队列,您需要足够的 RAM。

您通常不需要扩展负载均衡器。

或者,您可以为您的域创建两个或多个 A(地址)记录,每个记录指向不同的网络服务器地址。它会给你一个'DNS load-balancing ' 没有平衡服务器。考虑这个选项。

关于php - 负载平衡 - 如何正确设置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13818890/

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