我想添加一个负载平衡器到我的锻造在数字海洋。
我想要的配置
负载均衡器(nginx) Web服务器@ 2-4 DB Server
我想知道这些实例需要什么样的配置。
我有web服务器@最小的实例,停止/卸载mariadb 512 MB / 20 GB
数据库服务器为2GB / 40 GB
我不知道负载均衡器的配置应该是什么。
我知道这取决于网站的流量,但如果有一个起点的想法,那就太好了。如果你每天有100,000次点击,或者负载平衡点在哪里。
我正在考虑使用redis来管理会话状态。我需要设置一个单独的服务器来运行它,还是可以在负载均衡器上运行它?
发布于 2017-09-01 18:15:31
我不完全确定是什么要求,但我将尽力解决每个部分,我能做到的。
通常,通过nginx实现负载平衡的设置如下:负载均衡器> web服务器> db服务器。也就是说,负载均衡器从web服务器请求页面,web服务器从db服务器获取其数据。
从逻辑上讲,它应该是这样的(尽管它的数量超过了您的需要)。

但是它的物理设置,它看起来像这样

所以,它会在同一个vlan下。您可以以不同的方式设置它,但它只是最常见的设置。
对于如何设置配置的问题,数字海洋实际上已经有了一个指南。https://www.digitalocean.com/community/tutorials/how-to-set-up-nginx-load-balancing
最重要的部分是上游。它定义了它要去哪个web服务器,以及它的权重,它有多少是被指向某个地方的。
对于负载均衡器能处理多少负载的问题,取决于您对负载均衡器的要求。nginx中的规则可能会变得相当复杂和冗长。甚至可能会出现这样的情况:您必须编写丑陋的if语句。对于某些IP,您可能有许多自定义的场景。所有这些配置需要遍历的东西都会增加每个请求的负载。
然而,在最简单的配置中,对于大多数服务器来说,每天100,000次请求是一个很小的数目。单靠负载平衡并不能完成很多工作。因此,最小的实例完全有可能轻松地处理100 k请求(假设没有带宽瓶颈),但我不熟悉数字海洋的软件包,可以肯定地说。
因此,如果您觉得仅在服务器上运行负载均衡器是浪费其资源,那么您当然可以像redis一样对其进行更多的工作。但这完全取决于你。
您甚至可以部署一个/较少的大型实例(或专用服务器),并在较少的物理服务器下运行所有这些逻辑服务器。这可能会省钱,因为这听起来是可行的(我不知道你的申请,可能是错的)。
https://serverfault.com/questions/871698
复制相似问题