Linux WebLogic 负载均衡实现指南
一 架构与方案选型
- 常见做法是在前端部署反向代理/负载均衡器(如 Nginx、HAProxy 或硬件 F5/Citrix),将请求分发到后端 WebLogic 集群;也可使用 WebLogic HttpClusterServlet 插件做应用层路由。
- 建议准备至少两台受管服务器组成集群,前端统一暴露 80/443,后端实例使用 7001/7002 等管理端口,便于横向扩展与故障转移。
- 若需会话保持,启用会话复制/持久化;若需 HTTPS,在负载均衡器或 WebLogic 前段终止 SSL。
二 方案一 反向代理 Nginx 或 HAProxy
- 安装与基础配置
- Nginx:安装后编辑 /etc/nginx/nginx.conf 或 /etc/nginx/conf.d/default.conf,定义 upstream 指向各 WebLogic 实例,设置必要的请求头并反向代理到后端。
- HAProxy:安装后编辑 /etc/haproxy/haproxy.cfg,定义 frontend 监听 80,backend 使用 roundrobin 等算法并配置健康检查。
- 关键配置示例
- Nginx
http {
upstream weblogic_cluster {
server 192.168.1.101:7001;
server 192.168.1.102:7001;
}
server {
listen 80;
server_name example.com;
location / {
proxy_pass http://weblogic_cluster;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
}
- HAProxy
global
log /dev/log local0
log /dev/log local1 notice
maxconn 4096
defaults
log global
mode http
option httplog
retries 3
timeout connect 10s
timeout client 1m
timeout server 1m
frontend http-in
bind *:80
default_backend weblogic_servers
backend weblogic_servers
balance roundrobin
server s1 192.168.1.101:7001 check
server s2 192.168.1.102:7001 check
- 启动与验证
- 启动服务:
systemctl start nginx 或 systemctl start haproxy,并设置开机自启。
- 访问前端地址,验证请求在后端实例间分发与故障转移。
三 方案二 WebLogic 集群与内置负载均衡
- 集群创建与成员添加
- 通过 Administration Console 或 WLST 创建集群(如 MyCluster),并将多个受管服务器加入集群;确保各节点间网络互通。
- 负载均衡策略
- 在控制台集群的负载均衡配置中选择算法(如 Round Robin、Least Connections),并启用负载均衡。
- 会话保持
- 配置会话复制/持久性,避免用户会话在节点切换时丢失。
- 启动与验证
- 启动管理服务器与受管服务器,访问应用并通过控制台/日志确认请求按策略分发。
四 方案三 WebLogic HttpClusterServlet 插件
- 适用场景:希望由 WebLogic 自身完成路由与负载分发,可在前端 WebLogic 受管服务器上部署 HttpClusterServlet。
- 基本步骤
- 在应用的 WEB-INF/weblogic.xml 中配置集群地址与插件参数,使插件将请求转发至集群成员。
- 将该受管服务器置于 DMZ 或前端网络,对外暴露 80/443,由插件完成后端分发。
- 说明
- 该方式属于应用层代理,适合已有 WebLogic 前端层的场景。
五 验证与运维要点
- 健康检查与故障转移
- 在 Nginx/HAProxy 中配置 HTTP 健康检查 与合理的 超时/重试,确保异常节点自动摘除;验证节点宕机时业务无中断切换。
- 会话与粘性
- 有状态应用启用会话复制;如需会话粘性,可在负载均衡器启用 IP Hash 等策略(权衡可用性与均衡性)。
- 网络与安全
- 开放必要端口(如 80/443、7001/7002、T3 管理端口),并限制管理端口仅内网访问;启用 防火墙/安全组 策略。
- 时间同步与监控
- 集群节点保持时间同步(如 NTP),并持续监控吞吐、延迟、错误率与后端健康状态,按需调整权重与算法。