Configuring multiple instances of RSE API
You can configure multiple Remote System Explorer (RSE) API instances behind the Zowe™ API Mediation Layer to enable load balancing and ensure high availability. This configuration distributes the workload evenly across RSE API servers and ensures service continuity when an instance becomes unavailable.
Deploying multiple RSE API instances offers the following benefits:
- Enhances performance and responsiveness during high load.
- Maintain user access during planned maintenance or server restarts.
- Supports seamless scalability by allowing you to add or remove instances as needed.
In the application.yml file, each independent RSE API instance can be defined in the
instanceBaseURLs: section. When a REST API request is received by Zowe API Mediation Layer, either from the RSE CLI plug-in, IBM Z® Open Editor, or perhaps another application coded to use the REST APIs, it will be routed to the most available instance.
instanceBaseUrls:
- https://<RSEAPI_HOST>:6800/rseapi
- https://<RSEAPI_HOST>:6801/rseapi
- https://<RSEAPI_HOST>:6802/rseapi
Example configuration
The following
application.yml static definition example shows how to register
multiple RSE API instances in the API Gateway configuration file:services:
- serviceId: rseapi
title: Remote System Explorer API
description: Remote System Explorer (RSE) API
catalogUiTileId: ibm.rseapi
instanceBaseUrls:
- https://example.domain.com:6800/rseapi/
- https://example.domain.com:6801/rseapi/
- https://example.domain.com:6802/rseapi/
routes:
- gatewayUrl: /api/v1/
serviceRelativeUrl: /api/v1/
authentication:
scheme: zoweJwt
apiInfo:
- apiId: ibm.rseapi
version: 1.2.3
gatewayUrl: /api/v1/
swaggerUrl: https://example.domain.com:6800/rseapi/api-docs/swagger.json
documentationUrl: https://www.ibm.com/docs/en/explorer-for-zos/3.4.0?topic=api-host-configuration-guide
customMetadata:
apiml:
lb:
type: authentication
cacheRecordExpirationTimeInHours: 24
catalogUiTiles:
ibm.rseapi:
title: IBM Remote System Explorer
description: The IBM RSE collection of REST APIs allows working with MVS data
sets, z/OS UNIX files and commands, JES jobs, TSO commands, and other z/OS components.
Note:
- The
application.ymlfile must be encoded inUTF-8. If you use the cat command from SSH and the file is rendered, then it is encoded inEBCDIC. You can convert it using the iconv command. For example, by using the following command, you can convert the input file application.ebcdic toUTF-8characters in the output application.yml file.iconv -f IBM-1047 -t UTF-8 application.ebcdic > application.yml RSEAPI_SAF_JWTmust be set tofalseinrseapi.env. For more details, refer to rseapi.env, the RSE API configuration file.