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

Reply via email to