是否有 Apache 或 Nginx 相当于 IIS“排水站”?

Bra*_*ack 4 iis tomcat nginx apache-2.2

我来自 .NET 背景,有很多我喜欢它的东西,也有很多我讨厌的东西。总的来说,IIS 是我讨厌的东西之一。

但是,IIS 的一个非常好的功能是您可以在服务器节点上放置一个“排水站”。这会将所有新流量重定向到其他节点,但允许当前在线的用户在完全关闭 IIS 之前完成他们的会话。

这对于在不中断用户会话的情况下进行部署非常方便。

在我的新公司,我们不是 .NET 并且喜欢它。我们在 EC2 上使用 JRuby 和 Java 工作,使用 Apache 作为前端,使用 Tomcat 作为后端。

有没有人遇到过提供与 Tomcat、Nginx 或 Apache 类似功能的任何解决方案?

我已经做了一些搜索,但无法想出任何有用的东西。Axis2怎么样?有没有人有这方面的经验?

mdp*_*dpc 6

如果您想关闭本地 apache 站点,让当前用户完成他们当前的任务,请优雅地停止 Apache。我假设您有一些其他架构可以将用户重定向到另一个运营网站以允许他们继续(即负载平衡器等)。

从 Apache 站点:

信号:WINCH apachectl -k graceful-stop

" WINCH 或优雅停止信号使父进程建议子进程在当前请求后退出(或者如果他们没有提供任何服务则立即退出)。然后父进程将删除其 PidFile 并停止侦听所有端口。父进程将继续运行,并监视正在处理请求的子进程。一旦所有子进程都完成并退出或达到了 GracefulShutdownTimeout 指定的超时时间,父进程也将退出。如果达到超时,任何剩余的子进程都将被发送 TERM 信号迫使他们退出。

当处于“优雅”状态时,TERM 信号将立即终止父进程和所有子进程。但是,由于 PidFile 将被删除,您将无法使用 apachectl 或 httpd 发送此信号。”