(Optional) Load balancing through TCP/IP port sharing
You need the assistance of a TCP/IP administrator to complete this customization task, which requires the following resources or special customization tasks:
- Update TCP/IP profile to define port sharing.
RSE API supports running multiple servers on a single system, which share a single TCP/IP port for communication with clients. Therefore, you can spread the workload across multiple address spaces and avoid a single point of failure at the server level.
RSEAPI started task updates
The RSEAPI started task JCL has the startup variable SRVNUM
to differentiate
server-specific resources, like log files and configuration details in a shared setup. This startup
argument must be unique per server instance that is started as part of the shared port setup. Other
startup arguments must be the same for all these servers.
rseapi.env updates
Ensure that the RSEAPI started tasks that use a shared port must use the same
rseapi.env
configuration file.
The following variables are related to port sharing. For more information, see rseapi.env, the RSE API configuration file.
RSEAPI_PORT_HTTP_x
- All RSEAPI started tasks will look for their own server API port, where
x
matches the value of theSRVNUM
startup argument. For port sharing, all RSEAPI started tasks must use the same API port. Use the following sample definitions to make the setting:RSEAPI_PORT_HTTP_1=6800 RSEAPI_PORT_HTTP_2=${RSEAPI_PORT_HTTP_1} RSEAPI_PORT_HTTP_3=${RSEAPI_PORT_HTTP_1} …
RSEAPI_PORT_SHUTDOWN_x
- All RSEAPI started tasks will look for their own server shutdown port, where
x
matches the value of theSRVNUM
startup argument. To stop a specific server, the server shutdown ports must be unique for each server. Use the following sample definitions to make the setting:RSEAPI_PORT_SHUTDOWN_1=60801 RSEAPI_PORT_SHUTDOWN_2=60802 RSEAPI_PORT_SHUTDOWN_3=60803 …
RSEAPI_SHARED_JWT_HMAC
- When you use JSON Web Tokens (JWT) for client authentication in a shared-port setup, this
variable must be set to
true
so that the involved RSE API servers can accept a JWT that is created by another server in the port sharing group.
TCP/IP updates
Shared ports are defined by the PORT
statement in the TCP/IP profile. A shared
port definition reserves a specific port number to be shared by specific z/OS address space job
names. The following two options of the PORT
statement control port sharing. For
the description of the PORT
statement, see the z/OS Communications Server: IP
Configuration Reference (SC27-3651).
SHAREPORT
-
Requests are distributed by a weighted round-robin distribution method based on the Servers' accept Efficiency Fractions (SEFs) of the listeners that share the port.
SHAREPORTWLM
- Requests are distributed based on z/OS Workload Manager (WLM) server-specific recommendations, which are modified by the SEF values for each listener. Load balancing can be more efficient if you consider the status that is provided by dynamic feedback from WLM.