A SOAPam Server installation can be easily scaled by running multiple instances of the Server. When running this type of server farm configuration there are several considerations:
- Any number of Server instances may share a single Virtual File System (VFS). This allows all servers to share the same set of Service Definitions and logging resources.
- A single VFS only supports a single SSL server certificate. If client will connect to the server farm using SSL, then the network configuration must allow the clients to connect using a common host name. The host name must match the Common Name in the SSL certificate.
Running SOAPam Server
A sufficient number of SOAPam Server instance should started as is necessary to support the application load. Each instance of the Server should reference a common VFS using the -vfs startup option.
Configuring the Network
The most desirable network configuration is to have all clients connect to the server farm using a common host name, and to have these connections balanced across the server instances. When using SSL, using a common host name is a requirement. There are several ways to achieve this:
Use NonStop Parallel TCP/IP
Parallel TCP/IP, now known as IPv6, allows multiple processes to listen on the same IP address and port and to have connections to those processes distributed evenly by the system. For more information on configuring this capability refer to Section 2, Round-Robin Filtering, in the TCP/IPv6 Configuration and Management Manual. Note that when using this configuration, each instance of SOAPam Server must run in a different CPU.
When running in this configuration it is important to configure additional TCP/IP ports so that each server instance can be managed separately. Please refer the the KB article How to access the Control Panel of a specific SOAPam process in a server farm for more information.
Use Standard TCP/IP with an External Load Balancer
When using standard TCP/IP each SOAPam Server instance must use a different IP address/port combination. An external load balancer can be used to map a single external host name / IP address combination to the individual address/port combinations used for each server instance.
Use Standard TCP/IP with Round Robin DNS
In this configuration each SOAPam Server instance can be configured on a different IP address but use a single port. The DNS can be setup in a "round robin" configuration where multiple IP addresses are configured for a single host name. When the DNS is queried for the host name it will return the addresses in order providing a balancing effect. Note that the round robin effect is not as reliable as the previously described techniques and is highly dependent on the DNS implementation.