MobiLink server groups

You can partition your MobiLink servers into server groups. This allows you to have groups of clients that access distinct groups of MobiLink servers.

For a list of Redirectors that support server groups, see [external link] SQL Anywhere Supported Platforms and Engineering Support Status.

You create a server group by adding a section to your Redirector configuration file (redirector_server_group.config) with the group name in square brackets followed by settings for that group. At a minimum, a group must specify one ML directive. You can also set the ML_CLIENT_TIMEOUT option for a group. You reference the group in the url_suffix option on your client.

You can create a default server group by specifying a group with no name before you specify any named groups in the file. This default group is useful for backward compatibility. It is used when the client does not specify a server group name in their url_suffix option.

See url_suffix.

You can also specify default settings for all server groups for the SLEEP and LOG_LEVEL properties. These can be specified anywhere in the configuration file.

Supporting old and new clients

If your MobiLink server needs to support old (version 8 or 9) remote databases as well as version 10 and later remote databases, then you need to open at least two ports: you use the mlsrv11 -x option to open a port for new clients, and you use the mlsrv11 -xo option to open a port for old clients. If you are also using the Redirector, you need to set up server groups so that the Redirector directs clients to the appropriate port.

In a typical Redirector setup, you would start multiple MobiLink servers. In the simplest case, you have one MobiLink server running with two ports, opened with -x and -xo, and you create two server groups, one for each. Following is a partial mlsrv11 command line that opens two ports for the MobiLink server:

mlsrv11 -c "dsn=YourDSN" -x http(port=111) -xo http(port=222)

You add sections to your Redirector configuration file for the two server groups:

[v10service]
    ML="host=mySrv.myCorp.com;port=111"
[v9service]
    ML="host=mySrv.myCorp.com;port=222"

When you start your clients, you specify the url_suffix option with the name of the server group. For example, for SQL Anywhere clients and an ISAPI web server, part of the dbmlsync command line for the version 10 clients would be:

dbmlsync -e "adr='host=somehost;port=5001;url_suffix=scripts/iaredirect.dll/ml/v10service'"...

Part of the dbmlsync command line for your version 9 clients would be:

dbmlsync -e "adr='host=somehost;port=5001;url_suffix=scripts/iaredirect.dll/ml/v9service'"...
See also
Example

Following is a sample redirector_server_group.config file, showing some typical settings and the creation of server groups.

#
# Set up the default server group:
#
  ML="host=mySrv1.myCorp.com;port=222"
  ML="host=mySrv2.myCorp.com;port=222"
#
# Set up a server group named myOldGroup:
#
[myOldGroup]
  ML="host=myOldSrv1.myCorp.com;port=111"
  ML="host=myOldSrv2.myCrop.com;port=111"
  ML_CLIENT_TIMEOUT=30
#
# Set up a server group named myNewGroup:
# 
[myNewGroup]
  ML="host=myNewSrv1.myCorp.com;port=333"
  ML="host=myNewSrv2.myCorp.com;port=555"
  ML_CLIENT_TIMEOUT=240
#
# Set up a server group named mlSecureGroup:
#
[theirSecureGroup]
  ML="https=true;Srv1.Corp.com;trusted_certificates=c:\Corp\publicRoot.crt"
  ML="https=true;Srv2.Corp.com;trusted_certificates=c:\Corp\publicRoot.crt"
#
# Set global properties:
#
    LOG_LEVEL=5
    SLEEP=15