我有一个简单的我的站点布局,一个负载均衡器坐在3个应用程序服务器的前面,请求数据库。 我有4个虚拟机可用,3个虚拟机用于3个应用程序服务器,以及一个虚拟机用于数据库。 将负载平衡器安装在与数据库相同的VM上是否明智? 或者它应该在一个完全分离的虚拟机? 问题与成本有关。
将LB安装在与数据库相同的VM上是不明智的,原因如下:
请注意,如果这只是为了testing,LB应该是一个虚拟机,Web /数据库可以在一个盒子里。
如果这是用于分段或生产,则分开的虚拟机。 如果你有LB问题,重新启动你的整个数据库和应用程序是没有意义的。
根本不是个好主意。 你可以在之前的文章中find原因,我只是添加缩放和故障转移的问题。 我想你应该重新思考你的SPOF的架构,并设置它像这样:
Internet ----> Virtual IP ----> LB1 \_____/ APP1 \ /- DB1 \---> LB2 / |- APP2 >--< \ APP3 / \- DB2
LB1和LB2是使用虚拟IP进行故障转移的负载均衡器(您可以使用Keepalived),所以当LB1死亡时,LB2会自动获取VIP,一切正常。 你也应该复制数据库设置,所以当一个数据库服务器死了,应用程序正在使用另一个。 LB也可以作为防火墙,只有“面向Internet的东西”,APP和DB服务器根本不需要公有IP。