Hello everyone, I'm in the beginning phases of building a riak_core application and am curious as to how others might recommend I set up my application. Every single bit of my application will be computation only, that is that all storage and data will be managed by Riak. Basically, a client sends a command to my riak_core application, it pings Riak to get the data, does something with it and then saves the results back to Riak before letting the user know what happened. If I planned on losing a few commands which were in flight when a node goes down this would be very simple, but I would like to avoid that (the is kinda the point of all this, after all). However, sending the command off to, say, 3 nodes to process means that each of my nodes will then ping Riak (if I need 2 responses per query suddenly that means I hit Riak nodes a total of 6 times), process, and then all try to save the data back to Riak (again possibly hitting 6+ nodes to save the data). Is that wasteful? Is there a better way to approach this? How can I make sure that the results are consistent with multiple nodes doing the computation? Would it better, if it is even possible, to have one node doing the computation with another node holding a copy of the command as a fail-over? Once the 'primary' computational node finishes it's work and the data is saved the secondary one could be informed and just drop the command since it isn't necessary anymore. I'm still trying to grok all the implications of the way riak_core does things so any advice would be greatly appreciated. Chris
_______________________________________________ riak-users mailing list [email protected] http://lists.basho.com/mailman/listinfo/riak-users_lists.basho.com
