集群 Tomcat 节点通常是为了实现负载均衡 + 高可用 + 会话共享。下面从架构思路 → 常见方案 → 具体配置示例逐步说明。
客户端
↓
负载均衡器(Nginx / HAProxy / LVS)
↓
Tomcat Node1
Tomcat Node2
Tomcat Node3
↓
共享存储 / 数据库 / 缓存(Redis)
核心目标:
upstream tomcat_cluster {
server 192.168.1.101:8080;
server 192.168.1.102:8080;
server 192.168.1.103:8080;
}
server {
listen 80;
location / {
proxy_pass http://tomcat_cluster;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
}
✅ 优点:简单、稳定
❌ 缺点:默认不解决 Session 问题
适合对性能和健康检查要求高的场景。
架构:
Tomcat → Redis(统一存储 Session)
Tomcat Redis Session Managerspring-session-data-redisspring:
session:
store-type: redis
redis:
host: 127.0.0.1
port: 6379
✅ 优点:
<Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"/>
并配置:
DeltaManager❌ 缺点:
Nginx:
ip_hash;
✅ 简单
❌ 节点挂了 Session 丢
每个 Tomcat 节点:
server.xml
最佳实践:
Nginx + Tomcat 集群 + Redis Session + Keepalived
如果你愿意,我可以:
你现在是哪种项目?
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。