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

A B 两个服务器 如果 A 服务器挂了 怎么访问让后面的服务一直访问到 B 服务器上 最好能说下实现 谢谢~~~

  •  
  •   makuta · 2015-02-10 10:52:28 +08:00 · 5505 次点击
    这是一个创建于 3574 天前的主题,其中的信息可能已经有所发展或是发生改变。
    26 条回复    2015-02-11 09:54:34 +08:00
    giveme168
        1
    giveme168  
       2015-02-10 10:59:03 +08:00
    切一下域名解析呗
    looo8899
        2
    looo8899  
       2015-02-10 11:08:16 +08:00
    @giveme168 他的意思是 当A服务器有故障自动转移B服务器 要全自动切换的 不是手动切换的~
    piaoxueblog
        3
    piaoxueblog  
       2015-02-10 11:09:21 +08:00   ❤️ 1
    haproxy
    liyaoxinchifan
        4
    liyaoxinchifan  
       2015-02-10 11:11:55 +08:00
    虚拟ip:keepalive,corosync........
    yylzcom
        5
    yylzcom  
       2015-02-10 11:16:11 +08:00 via Android
    最简单的用cloudflare的failover功能,如果想自己实现就搜failover,最简单就是自己写一个监控脚本,配合DNS.he.net 的dymatics ip功能,他家有API,但是好像没有说明文档
    yylzcom
        6
    yylzcom  
       2015-02-10 11:21:09 +08:00 via Android
    以前有这种需求,但是现在没有了,因为是面对国外客户的企业站,cloudflare的always online功能就够用了,虽说免费版的一周只爬行一次,但主服务器去年平均月在线率99.8%,超过7个月100%在线,实际宕机时间很短,backup server基本就成了摆设....
    9hills
        7
    9hills  
       2015-02-10 11:22:51 +08:00 via iPhone
    看可用性要求,如果不在意10min左右的流量损失,用DNS即可。

    否则就是VIP LVS等
    incompatible
        8
    incompatible  
       2015-02-10 11:36:17 +08:00   ❤️ 1
    《Nginx 反向代理、负载均衡、页面缓存、URL重写及读写分离详解》 http://freeloda.blog.51cto.com/2033581/1288553

    着重看这两部分:
    四、Nginx之反向代理
    五、Nginx之负载均衡
    pubby
        9
    pubby  
       2015-02-10 11:38:48 +08:00
    @incompatible ngxin挂了呢?
    pubby
        10
    pubby  
       2015-02-10 11:39:07 +08:00
    -_- 写错了, nginx
    czz811
        11
    czz811  
       2015-02-10 11:40:47 +08:00
    最好的方法两台服务器做负载均衡
    msg7086
        12
    msg7086  
       2015-02-10 11:43:36 +08:00
    @pubby nginx没事不会挂。不行就用haproxy做。再不行用lvs。
    看你对服务在线率的等级要求。
    正常用用nginx级别的足够了。
    lerry
        13
    lerry  
       2015-02-10 11:43:42 +08:00   ❤️ 2
    是web服务器吗?
    如果是的话,nginx可以这样写
    upstream backend {
    server a.com;
    server b.com backup;
    }

    server {
    listen 80;
    server_name xxx.com;

    proxy_next_upstream error timeout http_502;

    location / {
    proxy_pass http://backend;
    }

    }
    abbatuu
        14
    abbatuu  
       2015-02-10 11:53:04 +08:00
    @incompatible 他说的不是负载均衡 应该是冗余,机制是一样的
    pubby
        15
    pubby  
       2015-02-10 11:54:33 +08:00
    @msg7086 嗯,我知道。楼主没描述清楚场景。
    sparkle
        16
    sparkle  
       2015-02-10 12:20:12 +08:00
    前面顶一个haproxy或者nginx,如果怕这个单点就上keepalived
    不过好像直接对app server上keepalived就行了额
    makuta
        17
    makuta  
    OP
       2015-02-10 14:31:09 +08:00
    @lerry 是的
    tension
        18
    tension  
       2015-02-10 14:32:38 +08:00
    DNSPOD 的啊。。。
    longquanwo
        19
    longquanwo  
       2015-02-10 15:05:26 +08:00
    我不写代码的都知道 负载均衡可以解决
    giveme168
        20
    giveme168  
       2015-02-10 17:17:37 +08:00
    你是DNS层面做的负载均衡,还是nginx层面做的负载均衡啊?
    gauzeehom
        21
    gauzeehom  
       2015-02-10 17:23:28 +08:00
    高可用性集群
    DearTanker
        22
    DearTanker  
       2015-02-10 17:47:07 +08:00
    这个、、、、不是很多诸如DNSPOD和百度云监测都可以??????
    makuta
        23
    makuta  
    OP
       2015-02-10 20:32:32 +08:00   ❤️ 1
    @giveme168 nginx
    wohenyingyu01
        24
    wohenyingyu01  
       2015-02-10 23:42:41 +08:00
    再买一个C服务器用来判断。。。
    wdhwg001
        25
    wdhwg001  
       2015-02-11 02:57:30 +08:00 via iPhone
    GreatFire不是有一个被墙自动找镜像的项目吗…
    giveme168
        26
    giveme168  
       2015-02-11 09:54:34 +08:00
    @makuta nginx可以有很多方法,权重啊,直接设置成down啊,google一下一大堆
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   923 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 37ms · UTC 21:29 · PVG 05:29 · LAX 13:29 · JFK 16:29
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.