Hi Brysn , 

There have been at least four chunks of code released to handle connection 
pooling ( in addition to poolboy);

http://wiki.basho.com/Community-Developed-Libraries-and-Projects.html#Client-Libraries-and-Frameworks.
  ( Scroll down to " Erlang".)

These might be worth a look. 

Mark
twitter.com/pharkmillups 



Mark


On Sep 3, 2012, at 6:40, Joseph Lambert <[email protected]> wrote:

> Hi Bryan,
> 
> AFAIK, there is no built-in connection pooling for the Riak Erlang client. 
> Each connection will only connect with one node and only that node, but since 
> it's masterless you can connect to any node. You could roll your own 
> connection pooling mechanism, or use something like Poolboy to handle it for 
> you. Using Poolboy is convenient because it comes as a dependency of 
> riak_core.
> 
> If you use Poolboy, you'll have to modify riakc_pb_socket slightly to account 
> for the way poolboy initializes connections (add a start_link/1), or create a 
> simple module to pass the initialization from poolboy to riakc_pb_socket.
> 
> - Joe Lambert
> 
> 
> On Mon, Sep 3, 2012 at 11:41 AM, Bryan Hughes <[email protected]> wrote:
> Hi Guys,
> 
> I have a question regarding Riak's protobuffer client gen_server process.  I 
> have a cluster of 5 nodes (machines), each with consecutive IP addresses.  
> Our application is 100% erlang and runs on its own machine.  The arguments to 
> riakc_pb_socket:start_link/2 is an Address, Port and the optional Options.  
> The Address and Port is the address of the riak server, but in the case of a 
> masterless cluster of 5 machines, which address do I use? 
> 
> In reviewing the code for riakc_pb_socket.erl, the client opens a socket via 
> gen_tcp to that particular node in the cluster and only that node.  This 
> means that there is a 1 to 1 connection between the riak node and the client. 
>  Is this correct?  Maybe I am missing something?
> 
> If so, then it looks like I need to implement my own round-robin algorithm 
> across a pool of protobuffer clients that I am managing, each bound to a 
> different node in the cluster while testing "aliveness" with ping/2 and an 
> immediate timeout?
> 
> Cheers,
> Bryan
> 
> -- 
> Bryan Hughes
> Wobblesoft
> 
> http://www.wobblesoft.com
> 
> "Art is never finished, only abandoned. - Leonardo da Vinci"
> 
> 
> _______________________________________________
> riak-users mailing list
> [email protected]
> http://lists.basho.com/mailman/listinfo/riak-users_lists.basho.com
> 
> 
> _______________________________________________
> riak-users mailing list
> [email protected]
> http://lists.basho.com/mailman/listinfo/riak-users_lists.basho.com
_______________________________________________
riak-users mailing list
[email protected]
http://lists.basho.com/mailman/listinfo/riak-users_lists.basho.com

Reply via email to