我想使用Oracle Weblogic创建高可用性。首先,我创建一个名为MyCluster
的集群,并将两个服务器(Server1
和Server2
)添加到MyCluster
。我使用Nginx作为负载均衡器。
我按照https://www.oracle.com/webfolder/technetwork/tutorials/obe/fmw/wls/12c/12-ManageSessions--4478/session.htm#t1中的教程在内存中复制会话。
这是我的Nginx配置:
upstream myweb {
server server1:38080 weight=1;
server server2:38080 weight=1;
server server3:38080 weight=1;
}
server {
listen 80;
server_name nginxHost;
access_log /var/log/nginx/nginxHost.access.log main;
error_log /var/log/nginx/nginxHost.error.log warn;
location / {
proxy_pass http://myweb/;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
}
当我测试会话复制时,我遇到了问题。如果Server1
正在运行并且Server2
现在已关闭,则我连接了Server1
上的应用程序。我打开Server2
并等待其完成启动。然后关闭Server1
并刷新浏览器。会话消失了。
最后,我发现我必须在Server2
运行后刷新浏览器。服务器启动时有什么方法可以复制会话?