V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
iguoji
V2EX  ›  程序员

Nginx 做负载均衡,会不会挂掉?

  •  
  •   iguoji · 2017-06-23 12:43:34 +08:00 · 13618 次点击
    这是一个创建于 2498 天前的主题,其中的信息可能已经有所发展或是发生改变。

    假如有三台服务器,一台主服务器,两台子服务器

    主服务器上就装个 Nginx,用负载均衡分发到子服务器

    但有个问题,假如主服务器受不住太大并发挂掉了怎么办?

    37 条回复    2017-06-24 11:20:52 +08:00
    timothyye
        1
    timothyye  
       2017-06-23 13:00:16 +08:00 via Android   ❤️ 1
    我们之前就这样,主服务器挂了,其他全都不能访问了。
    后来我们改用阿里云的负载均衡了……
    julyclyde
        2
    julyclyde  
       2017-06-23 13:03:08 +08:00   ❤️ 1
    就一个纯走流量的服务器都能挂了,你觉得后边你得有多少处理实际业务的服务器?
    当你买得起后边那么多的时候,就不能给前边再多加一台吗
    owenliang
        3
    owenliang  
       2017-06-23 13:18:16 +08:00   ❤️ 2
    有个技术叫 keepalived,可以 VIP 自动漂移,做双机备份。

    有个技术叫 DNS,可以实现多 IP 负载。
    zvcs
        4
    zvcs  
       2017-06-23 13:19:21 +08:00 via iPhone
    负载均衡也可以做在 dns 上
    gclove
        5
    gclove  
       2017-06-23 13:27:23 +08:00
    阿里云 +1, 可以做在 dns + 2
    panzhc
        6
    panzhc  
       2017-06-23 13:46:41 +08:00
    阿里云的七层负载均衡还不是基于 tengine 做的,tengine 的爸爸就是 nginx
    txlty
        7
    txlty  
       2017-06-23 13:49:18 +08:00
    DNS 轮询
    mooncakejs
        8
    mooncakejs  
       2017-06-23 13:49:30 +08:00
    单独一台装 nginx 挂掉的可能性很小。
    nnxiaod
        9
    nnxiaod  
       2017-06-23 13:52:32 +08:00
    dns 负载不好。。keepalived 挺好。。
    samfan
        10
    samfan  
       2017-06-23 13:58:28 +08:00
    并发太大 是多少?
    misaka19000
        11
    misaka19000  
       2017-06-23 14:03:13 +08:00 via Android
    @nnxiaod keepaliced 能虚拟出公网 IP 吗?
    misaka19000
        12
    misaka19000  
       2017-06-23 14:04:02 +08:00 via Android
    @mooncakejs 其实不一定是性能原因啊,比如 Nginx 这台机器因为物理原因不可访问了呢?
    hcymk2
        13
    hcymk2  
       2017-06-23 14:04:27 +08:00
    DNS 会不会挂掉?
    lvs 会不会挂掉?
    F5 会不会挂掉?
    mooncakejs
        14
    mooncakejs  
       2017-06-23 14:13:20 +08:00
    @misaka19000 这和并发没关系,理论上路由器也可能坏掉。 如果需要更安全,上硬件负载,故障瞬间无感切换,
    reus
        15
    reus  
       2017-06-23 14:18:25 +08:00
    自己不测试,来 V2EX 问。
    不合格。
    dudesun
        16
    dudesun  
       2017-06-23 14:54:10 +08:00
    挂了可以拉起来,systemd
    watzds
        17
    watzds  
       2017-06-23 15:04:13 +08:00 via Android
    才两台,nginx 挂之前这两台早挂了吧
    sunmonster
        18
    sunmonster  
       2017-06-23 15:30:13 +08:00
    一台主,两台从都能挂,只能说明你的 nginx 配置有问题
    stabc
        19
    stabc  
       2017-06-23 15:31:34 +08:00
    一样配置的话,哪怕后面 10 台都挂了,你前面的负载均衡都不会挂。单纯流量转发对系统消耗极小的。
    spice630
        20
    spice630  
       2017-06-23 15:33:32 +08:00
    用 windows 玩游戏 电脑会不会死机?
    23333
    kkyyyw
        21
    kkyyyw  
       2017-06-23 15:34:37 +08:00
    nginx + keepalived 实现双主架构。
    13246864965
        22
    13246864965  
       2017-06-23 15:36:13 +08:00
    我们现在用的就是 nginx 做负载均衡的,nginx 单独部署到一台服务上面,基本上不会 down
    hl
        23
    hl  
       2017-06-23 16:00:57 +08:00
    不用 haproxy 吗?不用 LVS 吗? 不用 OSPF+LVS 吗?
    johnlui
        24
    johnlui  
       2017-06-23 18:13:44 +08:00
    纯做 HTTP 转发的话,Nginx 的性能高到恐怖,会挂掉很不科学。。。建议查查。。。
    Lax
        25
    Lax  
       2017-06-23 19:29:37 +08:00
    不考虑带宽峰值的话,比较新的 CPU 跑 nginx 单核每秒能接近 2 万请求。在这个访问量级别挂掉的话,感觉你给的原因太随意了。
    TangMonk
        26
    TangMonk  
       2017-06-23 19:37:45 +08:00
    用阿里云的负载均衡吧
    kkeybbs
        27
    kkeybbs  
       2017-06-23 20:20:50 +08:00 via Android
    软件方面确实不容易挂,硬件万一挂掉呢
    lvs+两个 nginx,以防万一
    g5hdyd
        28
    g5hdyd  
       2017-06-23 20:24:31 +08:00
    我是用的 dnspod 的 dns 轮查 并且 dnspod 有规则 如果有一台服务器挂了 自动将其下线
    janxin
        29
    janxin  
       2017-06-23 21:29:52 +08:00 via iPhone
    你如果是刚开始上线,考虑这个问题太早了,上个云服务器都好处理,大不了直接切一下
    BOYPT
        30
    BOYPT  
       2017-06-23 21:59:08 +08:00
    问得出这个问题,还是用阿里云的均衡吧...
    yidinghe
        31
    yidinghe  
       2017-06-23 22:13:41 +08:00 via Android
    弄两台主机带外网地址的主机装上 nginx,然后 DNS 解析到两个地址上。
    wind3110991
        32
    wind3110991  
       2017-06-23 22:32:11 +08:00
    装 nginx 的应该不叫主服务器吧,只是 rs 而已,主从应该是再往下一层业务的层次中节点之间才有主从关系
    可以用 zookeeper 监控节点啊,主挂了重新选举 leader 节点
    或者 keepalive 都行
    GoBeyond
        33
    GoBeyond  
       2017-06-24 00:10:24 +08:00 via Android
    负载均衡与业务实际承载服务器的关系应该是类似于一种一对多的关系
    iyaozhen
        34
    iyaozhen  
       2017-06-24 00:14:27 +08:00 via Android
    硬件还是比较容易出问题的。——记一次机房双路掉电有感
    lan894734188
        35
    lan894734188  
       2017-06-24 01:39:11 +08:00 via Android
    三 nginx 三节点 用 dns 来分发咯 这样其实不会很平衡
    hand515
        36
    hand515  
       2017-06-24 09:39:38 +08:00
    单点故障,那就多部署几套
    nnxiaod
        37
    nnxiaod  
       2017-06-24 11:20:52 +08:00
    @misaka19000 “ keepalived 虚拟出公网 ip ”是啥意思啊? vip 是自己准备的,,然后配置到 keepalived 上
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   5341 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 30ms · UTC 07:51 · PVG 15:51 · LAX 00:51 · JFK 03:51
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.