使用 Nginx Plus 对 WebSphere Liberty Profile 服务器进行负载平衡
Loadbalancing WebSphere Liberty Profile Servers using Nginx Plus
我在三个独立的 Liberty Profile 服务器(每个)上有两个应用程序 运行。第一个应用程序呈现 UI,第二个应用程序通过 REST 网络服务提供数据。 UI 应用程序有一个登录页面,成功登陆后会将用户带到主页。主页显示从同一服务器上的其他 REST 应用收到的一些响应数据
我已经在这 3 台服务器前面配置了一个负载平衡器。我能够成功登录并登陆主页。但是该页面未填充来自 REST 服务的响应。
以下是我在nginx plus中添加的default.conf条目
upstream mycluster {
ip_hash;
server 162.194.243.182:9080;
server 162.194.243.183:9080;
server 162.194.243.184:9080;
}
location / {
proxy_pass http://mycluster;
}
我不确定从 Loadbalancer 的角度来看我错过了什么配置。有人可以帮我吗?
谢谢。
您应该使用 JSESSIONID 亲和力:
upstream my_cluster {
server 162.194.243.182:9080;
server 162.194.243.183:9080;
server 162.194.243.184:9080;
sticky learn
create=$upstream_cookie_JSESSIONID
lookup=$cookie_JSESSIONID
zone=client_sessions:1m;
}
我在三个独立的 Liberty Profile 服务器(每个)上有两个应用程序 运行。第一个应用程序呈现 UI,第二个应用程序通过 REST 网络服务提供数据。 UI 应用程序有一个登录页面,成功登陆后会将用户带到主页。主页显示从同一服务器上的其他 REST 应用收到的一些响应数据
我已经在这 3 台服务器前面配置了一个负载平衡器。我能够成功登录并登陆主页。但是该页面未填充来自 REST 服务的响应。
以下是我在nginx plus中添加的default.conf条目
upstream mycluster {
ip_hash;
server 162.194.243.182:9080;
server 162.194.243.183:9080;
server 162.194.243.184:9080;
}
location / {
proxy_pass http://mycluster;
}
我不确定从 Loadbalancer 的角度来看我错过了什么配置。有人可以帮我吗?
谢谢。
您应该使用 JSESSIONID 亲和力:
upstream my_cluster {
server 162.194.243.182:9080;
server 162.194.243.183:9080;
server 162.194.243.184:9080;
sticky learn
create=$upstream_cookie_JSESSIONID
lookup=$cookie_JSESSIONID
zone=client_sessions:1m;
}