Hi, Igniters, Currently, I'm working on the thin C++ client implementation. As you may already know, there is an issue with latency in our thin clients, which also can result in performance issues (you can see the "About Ignite Thin client performance" thread on user list).
So, how about we implement some kind of "Best Effort Affinity" for our thin clients? In my opinion, this could be possible and may improve mean latency when using thin clients dramatically. The scenario is following: 1. Thin client connects to one of the node from the provided address list, just as now. 2. When user create instance of CacheClient, thin client requests partition mapping for the cache. 3. Client establishes connections to nodes, which are both in the list, provided by user and in a server node response. 4. When user makes put/get/some other cache operation, thin client makes the best effort to send the request to the node, which stores the data. 5. To update partition mapping, thin client can provide public API, or do it with some timeout. Also, we can add "miss" flag to cache operation response, which whill indicate, that operation was not local for the server node and which thin client can use to understand, that partition mapping has changed to request server node for an update. What do you think? Best Regards, Igor