Hi Igor,

How can we invoke the affinity function on the client, if we don't have the
implementation at hand?
Am I missing something?

Thanks,
Pavel


On Wed, Jun 13, 2018 at 5:34 PM, Igor Sapego <isap...@apache.org> wrote:

> 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
>

Reply via email to