V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
lonelygod365
V2EX  ›  问与答

请教一下反向代理跟负载均衡

  •  
  •   lonelygod365 · 2021-06-03 21:47:57 +08:00 · 962 次点击
    这是一个创建于 1296 天前的主题,其中的信息可能已经有所发展或是发生改变。

    我这的这几个理解是否准确?
    负载均衡既可以单纯做负载均衡,也可以负载均衡➕反向代理。

    nginx 做反向代理是否就是为了实现负载均衡呢?


    假如我在防火墙后面已经有了物理负载均衡,那么后端的 web 服务器,应用服务器之间的负载均衡谁来实现呀?

    6 条回复    2021-06-04 09:06:32 +08:00
    Tianao
        1
    Tianao  
       2021-06-03 22:04:15 +08:00 via iPhone
    负载均衡既可以单纯做负载均衡,也可以负载均衡➕反向代理。

    反向代理是负载均衡的一种实现方式,但反向代理并不是只用于负载均衡,负载均衡也不是只有反向代理这一种实现方式,这俩名词没啥必然联系,是相交的关系,也就没啥单纯不单纯➕不➕的。


    nginx 做反向代理是否就是为了实现负载均衡呢?

    如上所说,不是。也可能是为了端口复用(实现虚拟主机的效果),也可能是为了平滑扩容 /温暖上线 /灰度测试 /AB 测试 /HA 高可用……


    假如我在防火墙后面已经有了物理负载均衡,那么后端的 web 服务器,应用服务器之间的负载均衡谁来实现呀?

    都可以,但从硬件负载均衡的部署模式 /架构看,内部再来一套负载均衡比较灵活,软硬无所谓。要不然现有硬件负载均衡可以考虑做混合部署,内部负载做旁路或者三角。
    lonelygod365
        2
    lonelygod365  
    OP
       2021-06-03 22:27:17 +08:00 via iPhone
    @Tianao 理解了,那如果这套系统如果是在云上的话,拓扑图可以如下吗?

    用户访问到云服务商提供的负载均衡(华为叫 ELB ),然后通过负载均衡轮询到后端 web 服务器,web 服务器负责静态内容吧我理解的, 然后再后面如果有动态的数据库请求就再通过一层负载均衡去找到应用程序服务器。


    我是自己学习这些内容,没有参与过,所以拓扑只能结合网上教程自己脑补,如有错误,还请原谅。
    Tianao
        3
    Tianao  
       2021-06-03 22:32:32 +08:00 via iPhone
    @lonelygod365 #2 没看到图,语言描述看是可以的。
    lonelygod365
        4
    lonelygod365  
    OP
       2021-06-03 22:40:30 +08:00 via iPhone
    @Tianao web 服务器与应用服务器之间,一般也还有一层负载均衡吗?

    因为我在网上看到的拓扑都是这样子的。https://i.loli.net/2021/06/03/5XNaJC1lLTIAkGS.jpg?width=1242&height=2688


    就是给我的错觉是 web 服务器跟后端应用服务器是一对一的关系。
    Tianao
        5
    Tianao  
       2021-06-04 09:05:18 +08:00 via iPhone
    @lonelygod365 #4 逻辑上是可以有一层的,但在物理拓扑上,这一层 LB 不一定是直路部署的硬件,也可能是单臂回出口位置的 LB (这就是我上文所说的“不灵活”等弊端),也可能是另外旁挂(流量单臂)的,还可能是旁路(流量三角)的。
    Tianao
        6
    Tianao  
       2021-06-04 09:06:32 +08:00 via iPhone
    建议楼主看下主流负载均衡 /应用交付产品的文档,里面有典型的部署架构。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2691 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 05:57 · PVG 13:57 · LAX 21:57 · JFK 00:57
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.