Vinay,

vinshar wrote
> If there is no affinity key defined then how client node chooses that to
> which server node a put or get request is to be sent? Or does a client
> node
> somehow chooses and send data always to one single server node for a
> particular cache? Or is there something like a primary server node for
> each
> cache?

By default affinity key is the same as cache key, so it's always defined for
any cache operation. The node for a key is defined by the affinity function
[1]. It's a stateless consistent function, which means that for the given
set of nodes (current topology) and a key it will consistently assign
primary and backup node(s). It doesn't depend neither on whether the entry
actually exists, nor on which node executes it. Of course, this function has
to be the same on all nodes, otherwise they will be out of sync.

vinshar wrote
> If there is no load balancing in data grid then, is it possible that
> majority of clients start sending get request to same server node
> degrading
> its performance? Is this a valid scenario?

If they for some reason request entries that reside in the same partition,
then yes, they will go to the same node. But that's the node where the data
is stored, so they actually don't have much choice. In most cases this means
that you have data distribution issues and should revisit your collocation
strategy.

[1]
https://ignite.apache.org/releases/1.5.0.final/javadoc/org/apache/ignite/cache/affinity/AffinityFunction.html

-Val



--
View this message in context: 
http://apache-ignite-users.70518.x6.nabble.com/Data-grid-Load-balancing-tp2819p2844.html
Sent from the Apache Ignite Users mailing list archive at Nabble.com.

Reply via email to