Hello,
Yes, it is possible to achieve something similar to that.
First of all, you can install multiple Adaxes services that share common configuration. When configuration is shared, if you modify the configuration of one of the services, the changes are replicated to the other services. Your code can access any of the services sharing common configuration. For more information, see Service Configuration Replication. For information on how to set up such a configuration, see the 2nd bulleted item in step 7 of our Installation Instructions: http://www.adaxes.com/resources/InstNot ... structions.
In your code, you can use the GetNearestService method instead of GetServiceDirectly. The GetNearestService, unlike GetServiceDirectly, returns the nearest available service for a domain. If you have several Adaxes services for the same domain installed in the same AD site (i.e. multiple Adaxes services are equally accessible), Adaxes will return a random service each time. This will help to distribute the load across the multiple services.
You have to take the following two considerations into account when using the method:
- If you have more than one set of Adaxes services sharing common configuration for the same domain, you will have to specify the ID of the configuration set to use before invoking the GetNearestService method. For more details, see the detailed description of the method in our SDK.
- It is preferable that you design your code so that the following set of actions be performed within the same session without switching between Adaxes services: find object -> read object properties ->change object properties -> save to directory. If you read properties on one of the services, and set them on another service, most probably, this will also work, but if changes are made to objects very often, issues can occur.