生產環境發布更新常面臨:強制中斷用戶操作、用戶誤以為服務故障。引入 Nginx 反向代理 + 多 Tomcat 節點 + Redis 集中式 Session,可實現零停機部署與高可用。
Nginx 是高性能 HTTP/反向代理服務器。Windows 版無需安裝,解壓後 start nginx 啟動,默認監聽 80 端口,訪問 localhost 顯示歡迎頁。

修改 conf/nginx.conf 中 server 塊:
server {
listen 80;
server_name localhost;
location / {
proxy_pass https://localhost:8080; # 轉發至 Tomcat
}
}
執行 nginx -s reload 熱加載,瀏覽器訪問 localhost 即顯示 Tomcat 應用頁面。

啟動第二個 Tomcat(端口 8081),部署同一應用並微調頁面標識。在 http 塊定義 upstream 叢集:
upstream test {
server localhost:8080;
server localhost:8081;
}
修改 location:proxy_pass https://test;。重載 Nginx 後刷新頁面,請求輪詢分發至兩個 Tomcat。

Nginx 實現了反向代理、靜態資源緩存、負載均衡,單點故障不影響整體服務。但多 Tomcat 節點下 Session 不共享(登錄後請求落到另一節點會丟失登錄態),下期將引入 Redis 實現 Session 共享。Demo 源碼:下載地址。