This a design question about the Caching component, I can see two approaches in determining where is the data:
- Each role instance maintains a table containing the entire set of keys, tracking the corresponding instance holding the data.
- The location of the data is determined by the hash code of the key.
In the first case, it would mean that it's important to keep a reasonable set of keys. In the second case, that testing the existence of a key would generate a network round trip...