5
回答
关于一个Nginx做负载均衡的问题?
华为云实践训练营,热门技术免费实践!>>>   

如题:关于一个Nginx做负载均衡的问题?
就是在一台有公网IP地址的电脑上面安装nginx然后通过配置代理实现负载,但问题就是这台电脑已经配置很高还是扛不住并发呢,那么现在问题就是同一个域名只能指定到一个公网IP地址上,那这时候怎么办?但我有了解就是可以用F5硬件来解决,F5负载了到下一个装有nginx负载的服务器然后在负载,如下图



在网络也有看到说用DNS负载均衡的实现同一个域名指定多个公网IP地址,但弊端也很多,如果用DNS做,但dns都是dns服务商或者全球那几台服务器弄的,这个怎么实现啊,这一点也还请懂的大神指教下。
另外就是用nginx那又是怎么实现的?????

举报
北极心
发帖于1个月前 5回/230阅

你上面说的方式,相当于多个nginx多个外网服务器实现负载,可以说这样的解决方式很low。

一般集群是通过内网服务器解决的,一台服务器有一个外网IP,一个nginx,作为出入口,同时,你有多台内网互通的服务器,每台服务器上都有部署项目,然后通过nginx的upstream上游指向你的多个内网服务器IP及端口,就实现了最基本的负载均衡!

 

--- 共有 2 条评论 ---
leebooe 回复 @北极心 : 一般情况下,在nginx服务器上不配置项目的,只作为一个出入口服务器,然后反向代理到其他的项目服务器。 1个月前 回复
北极心但现在的问题就是一个nginx,作为出入口时 这个nginx服务器吼不住呢? 1个月前 回复

同一个域名只能指定到一个公网IP地址上: 这个说法不对,同一个域名可以动态绑定到多个 IP,DNS 有这个服务。否则都是访问淘宝首页,北京和海南就不会访问各自对应的 CDN 了。

如果你要向DNS那方面考虑的话,你可以了解下bind9,不过我们公司只有在内部用,如果用在网站服务器上的话,过程也挺复杂的,相当于你自己建立一个dns服务器,然后你域名的所有指向全部通过你的dns服务器,如果对这块不了解的话就放弃这方面,个人更推荐我一楼回答的。

你的问题是,所有浏览经过一个域名进入了nginx, 即使nginx后面有多台服务器也无济于事?

简单。你在nginx前面增加一个 LVS,是用 DR模式。三角路由。
User --> LVS --> Nginx 1, Nginx 2 ...  --> Application 节点。

这样就解决了你的问题。有问题可以去我网站找文档 http://www.netkiller.cn

--- 共有 1 条评论 ---
北极心LVS我也搭建过,老东西,但也是软负载吧?lvs不也是在一台服务器上安装的软件么,记得以前还用心跳线来实现的 1个月前 回复

引用来自“neo-chen”的评论

你的问题是,所有浏览经过一个域名进入了nginx, 即使nginx后面有多台服务器也无济于事?

简单。你在nginx前面增加一个 LVS,是用 DR模式。三角路由。
User --> LVS --> Nginx 1, Nginx 2 ...  --> Application 节点。

这样就解决了你的问题。有问题可以去我网站找文档 http://www.netkiller.cn

F5, Array, A10 也是软负载:)

除非用FPGA写的集成电路实现。否则设备里面都是软件实现,没有本质区别。

有兴趣可以看我的问题 <<Netkiller Network 手札>> 里面有解刨 F5, Array 的章节。

顶部