Instance identification
If you are running multiple instances of the same application, either on a single VM/server/container, or across multiple hosts, it is often useful to assign each instance a unique ID.
You can provide an instance ID, to each instance of your application via a command line argument which is then made available to your application components if they need it.
Providing an ID via the command line
Start your application with the -i
argument. E.g.:
”`shell script myapp -i myid
You will see a message similar to:
```shell script
29/Oct/2019:11:01:08 Z INFO [grncInit] Instance ID: myid
Generating an instance ID
If you set the flag -u
when starting your application, Granitic will generate a V4 UUID and use that as an instance
ID.
Accessing the ID from your components
If your component implements instance.Receiver
(e.g. implements the method RegisterInstanceID(*instance.Identifier)
), the instance ID will be passed in to that
method before the container starts your components.
The instance ID will also be injected into your application’s merged configuration and can be found at
the config path System.InstanceID
Next: System configuration
Prev: Remote configuration