Setting up a Load-Balanced Server
To scale a deployment to a larger number of users and to increase the availability, Oxygen XML Web Author can be deployed on a set of load-balanced servers. This topic describes the required setup for such a scenario.
Restriction: The concurrent editing feature does not work if Oxygen XML Web Author is deployed on multiple servers behind a load balancer.
Configure Session Stickiness
Every Oxygen XML Web Author server keeps the state of the edited documents in memory
for performance reasons. This implies that every user should connect to the same back-end
server for the duration of an editing session. To achieve this result in a
load-balanced setting, you should enable session stickiness.
Note: By
default, Web Author does not use the Servlet container session management
implementation. Some load-balancers that implement session stickiness by
modifying the
JSESSIONID
session cookie, may not work with this setup. In
this case, you can change the WEB-INF/shiro.ini configuration file to
enable the Servlet container session
manager:sessionManager = org.apache.shiro.web.session.mgt.ServletContainerSessionManager
Configure Server Health Checks
To detect unhealthy servers, Oxygen XML Web Author offers a health check REST API. The endpoint has the following interface:
- URL
- rest-public/status
- Response status code
- 200 for a healthy server and 503 for an unhealthy server.
- Response body
- For an unhealthy server, the response body contains a text description of the problem.
Configure the License Server
All Oxygen XML Web Author servers can use the same pool of floating licenses. To this end, they all need to be configured to use the same license server.