what difference between routed and client?

54 views
Skip to first unread message

purec...@gmail.com

unread,
Nov 6, 2013, 8:19:18 PM11/6/13
to project-...@googlegroups.com
  • routing— Determines the routing policy. We support both client ( Client side routing ) and server ( Server side routing ).
server side routing supported?  what server side routing mean?

i have 3 server node
 - node1
 - node2
 - node3

client bootstrap(node1, storename)
client recieve metadata
client.get(key)
client transaction with (node1, node2, node3)

this is client side routing.  YES?

then

what is server side routing.

i changed store.xml <routing>server</routing>
 - nothing changed

clientconfig.setRouting(server)
 - meet Exception()


someone help me plz


Stephen Johnston

unread,
Nov 6, 2013, 8:47:03 PM11/6/13
to project-...@googlegroups.com
Hi,

Vic or others, please correct me if I'm wrong, but my understanding is this:

Only client-side routing in voldemort is well supported.

However, to answer your question, when you write a key/value payload to a voldemort cluster, the key is hashed to determine on which node the payload should be stored.  Also, it may be written to additional nodes depending on your replication configuration.  In server-side routing, the client would submit the payload to any node, and then the cluster would determine the hashing and writing to the correct nodes.  With client-side routing, the voldemort client-side library is actually going to do the hashing and send the payload directly to the correct nodes for writing.

Also, there is a discussion about the pros/cons of the approaches here: https://groups.google.com/forum/#!msg/project-voldemort/aFJcgQ34EkI/LnduXKoRYs0J

Hope that helps. 


--
You received this message because you are subscribed to the Google Groups "project-voldemort" group.
To unsubscribe from this group and stop receiving emails from it, send an email to project-voldem...@googlegroups.com.
Visit this group at http://groups.google.com/group/project-voldemort.
For more options, visit https://groups.google.com/groups/opt_out.

Vin C

unread,
Nov 6, 2013, 10:50:09 PM11/6/13
to project-...@googlegroups.com
yes.. Steve is spot on..

- Vinoth

purec...@gmail.com

unread,
Nov 7, 2013, 12:23:06 AM11/7/13
to project-...@googlegroups.com
thanks SteveJ

then..  if using read-only store
server-side routing is ineffectual ?




Stephen Johnston

unread,
Nov 11, 2013, 2:28:11 PM11/11/13
to project-...@googlegroups.com
Sorry for the late response.  I forgot to respond to this.
My example on server-side vs client-side routing was specific to writing, but I believe the same concepts would apply when reading from the cluster.  

Remember, when reading the value for a given key, the key is hashed.  If the strategy is client-side routing, then the client will compute the hash and fetch directly from the correct nodes in the server.  With server-side routing, the client will send the request to any node in the cluster, and that node would then compute the hash and gather the results from the appropriate nodes.

Again, I would stick with client-side routing since that is well supported within voldemort.

Thanks,
Steve


Vin C

unread,
Nov 13, 2013, 6:13:03 PM11/13/13
to project-...@googlegroups.com
Soon (Very soon infact) with the next release, we will have  "coordinator" service with a REST interface that will handle the routing . Basically we have moved the current "fat" client to a network service and provided a thinner java client.. 

This is in master, if you want to play with it..

Reply all
Reply to author
Forward
0 new messages