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.