We are implementing UPA provider and consumer components which talk through ADS. In my system as a whole, we are not going to use caching at all and also don’t want to impose any limit on any components (ADS/Provider) when it comes to the number of items/streams. Is there a recommended settings?
One thing we have found is that on the Provider side if we don't apply openLimit (as mentioned that we don't want to have any limit), on the ADS we have to set the maxCache to some value otherwise ADS wouldn't be able to see the service as active (this has been confirmed by the API support team). So here comes to another question, is there a way to set the maxCache parameter (or else) in ADS to essentially mean there is no cache limit?
There is a hash table to store all the item streams unique "message key" request information along with subscription information thus there is always a finite limit to the number of concurrent streams that can be fed through TREP. In my testing environment I have maxCache set to 5,000,000 for example.
However there are mechanisms to bypass this if desired as you can encapsulate your payload within a single item stream and thus consume no additional resources in the infrastructure when scaling from 1 to googols of items. FYI, this is how Reuters Content Services is implemented and how future services such as Elektron Time Services are delivered through Elektron.