With Hot Rod clients, we can control where to direct invocations too, so there's a very interesting performance optimization we can apply with distributed caches. We can tolerate, and benefit from the speed of, asynchronous distributed caches very easily if we can get Hot Rod clients to always hit the owner of a key.
It's a bit like sticky sessions, but applied to remote distributed caches! I think this would improve performance of our Hot Rod architecture quite notably.
I think the Hot Rod client already works this way since I don't think it load balances between owners of a key.
So, the aim of this JIRA is to:
1. Verify whether the Hot Rod client works this way
2. Consider whether Hot Rod servers could transform, on the fly, synchronous distributed caches into asynchronous ones, indicating so in the logs (INFO level).