I think for the protocol buffers, one should probably use the "least connected" strategy, but PBC connections tend to be more long-lived than HTTP connections -- which would describe what you saw.
Sean Cribbs <s...@basho.com> Developer Advocate Basho Technologies, Inc. http://basho.com/ On May 29, 2011, at 1:35 PM, Scott M. Likens wrote: > Hey, > > In my Chef recipes for AppCloud (Engine Yard's PaaS Product) I actually > configured haproxy to listen on 8098 on the application instances and > redirect to all the riak nodes in a roundrobin fashion. (Had httpchk for > /ping to ensure the node is up) > > In my own testing with basho_bench this seemed to work, I'm unsure of what > drawbacks there would be because I could not find any other then HTTP was > slower then PBC. > > I did find find that Protobuffers did not roundrobin correctly with haproxy > using tcp mode... darn :( > > So if we're just speaking HTTP could totally use HAProxy or a Hardware Load > balancer to spread out the load. > > Scott > -- > Scott M. Likens > Sent with Sparrow > On Friday, May 27, 2011 at 12:40 PM, Sean Cribbs wrote: > >> This is one thing I desperately want to refactor. The Ruby client still >> contains some things that reflect my earlier, less astute understanding of >> how a Riak client should behave and doesn't include obvious things like >> retrying requests (possibly on other nodes), conflict resolution strategies, >> and mutators. >> >> In the past, I have recommended that users put a lightweight load-balancer >> (e.g. haproxy, pound) between their application and Riak, and simply have >> the app connect to the locally-running instance of the LB. I realize this is >> not a great solution, but it also avoids a little NIH for now. >> >> Sean Cribbs <s...@basho.com> >> Developer Advocate >> Basho Technologies, Inc. >> http://basho.com/ >> >> On May 27, 2011, at 3:20 PM, Keith Bennett wrote: >> >>> Hi, all. If I have several riak servers on a cluster, and want to >>> distribute load fairly evenly, and am using the Ruby Riak client, what is >>> the best way to balance load? >>> >>> With the HTTP interface, I can randomize the choice of host for a request. >>> How would I do the same with the ruby client? Would I create a Riak::Client >>> for each host, and then just randomize the selection of those for a given >>> call? Do the clients contain any state that would make this a bad idea? Or >>> is there a better way to do this? >>> >>> Thanks, >>> Keith >>> >>> >>> _______________________________________________ >>> riak-users mailing list >>> riak-users@lists.basho.com >>> http://lists.basho.com/mailman/listinfo/riak-users_lists.basho.com >> >> >> _______________________________________________ >> riak-users mailing list >> riak-users@lists.basho.com >> http://lists.basho.com/mailman/listinfo/riak-users_lists.basho.com >> >> !DSPAM:4ddffdaf202681804284693! >
_______________________________________________ riak-users mailing list riak-users@lists.basho.com http://lists.basho.com/mailman/listinfo/riak-users_lists.basho.com