When a client asks for a serviceLocation, it must supply a clientId - This is used to make it possible to log/track which clients is using which services..
environment is a string specifying the environment the client lives in. It could be prod, test, preprod etc. It does not have to be
the same environment as the service it is asking for..
name is the name of your client
version is the version of your client
ip is the IP of the machine this instance of the client is running on. This is used to make it possible for clients to prefaere local service locations.
if ip is not specified, it will be resolved.