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

关于 Nginx 反向代理的后端服务重启的问题

  •  
  •   rrfeng · 2013-08-01 16:42:14 +08:00 · 4385 次点击
    这是一个创建于 3927 天前的主题,其中的信息可能已经有所发展或是发生改变。
    前 Nginx,后 jboss

    需要重启 jboss 的时候,如果直接重启,虽然 Nginx 的检测机制能够发现节点失效并停止转发,

    但之前已经存在的连接会丢失。一般性的服务是没有问题的,但如果是重要性的服务,比如用户已登录,session 无法保持,就会出现问题。

    保守的做法是先从 Nginx 的配置文件里把要重启的服务器屏蔽掉,reload,等待连接完全结束,重启 jboss ,修改 Nginx 配置,reload



    问题是:好麻烦啊,有没有一键式解决方案?或者是我们的设计有问题?
    5 条回复    1970-01-01 08:00:00 +08:00
    rrfeng
        1
    rrfeng  
    OP
       2013-08-01 16:49:26 +08:00
    咦,刚看到了 move 和 edit 按钮,一转眼没了,是限时的吗?
    -------------------

    APPEND:还是我理解有问题?
    cxh116
        2
    cxh116  
       2013-08-01 16:52:04 +08:00
    jboss的session保存到memcached或数据库里面,应该就没有问题了吧?
    rrfeng
        3
    rrfeng  
    OP
       2013-08-01 17:04:40 +08:00
    @cxh116
    session 可以共享,但是未完成的事务没法共享吧?
    plprapper
        4
    plprapper  
       2013-08-01 17:12:08 +08:00
    session保存在独立的cache里 是很有必要的,要不然你只能半夜发布了。~~~
    alswl
        5
    alswl  
       2013-08-26 17:58:40 +08:00
    nginx upstream 可以配置 max_fails fail_timeout; 根据需要优化 timeout 策略,好像默认是 max_fails=1
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   805 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 31ms · UTC 22:12 · PVG 06:12 · LAX 15:12 · JFK 18:12
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.