Erlang PB client

Igor Karymov ingham.k at gmail.com
Mon Jul 15 19:32:15 EDT 2013


We have two different unlinked riak clusters.
One used for statistic aggregation across the system. This one heavily
abuse riak secondary indexes range query feature, so we have to grow it
with caution.
Another one used as our main storage. Both clusters have different
backends, different nodes count, and occasionally different riak version.
Our library handle this use case.
Also we implemented keep alive pings to each riak node inside each cluster
(one special keep_alive connection to each node, that periodically call pb
client ping function).
This mechanism allow us handle gracefully downs and ups of riak nodes
 inside one cluster (if a particular node of the cluster stops responding,
the pool is temporarily stops route requests to it).
With this small update external load balancer is no needed anymore.


2013/7/16 Mark Phillips <mark at basho.com>

> Hi Igor,
>
>
> On Mon, Jul 15, 2013 at 3:00 PM, Igor Karymov <ingham.k at gmail.com> wrote:
>
>> Unfortunately this library is not included into "community projects" wiki
>> page list and i have no idea how-to fix this. Maybe somebody from basho
>> guys can help us.
>>
>>
>
> I just went ahead and opened a pull request to add it the docs [1]. Feel
> free to do so in the future when you've got something to add.
>
>
> > Also our library provide interface wrapper and multicluster
> configuration.
>
> Can you elaborate on how the multicluster configuration works and how you
> are using it in production?
>
> Best,
>
> Mark
>
>
> [1] https://github.com/basho/basho_docs/pull/489
>
>
>>
>> 2013/7/16 Konstantin Kalin <konstantin.kalin at gmail.com>
>>
>>> Thank you for sharing it. I built similar application already (pool +
>>> multi-node connections) after I had got confirmation that there is no
>>> "official way" :) Lucky it wasn't hard at all and laid down into existing
>>> prototype nicely (mostly because it's in-house app).
>>>
>>> Thank you,
>>> Konstantin.
>>>
>>>
>>> On Mon, Jul 15, 2013 at 2:43 PM, Igor Karymov <ingham.k at gmail.com>wrote:
>>>
>>>> Hi. Maybe this will be usefull for you:
>>>> https://github.com/unisontech/uriak_pool
>>>>
>>>> We was have to write our own solution, because poolboy was not be able
>>>> handle riak nodes ups and downs gracefully.
>>>> Also our library provide interface wrapper and multicluster
>>>> configuration.
>>>>
>>>>
>>>> 2013/7/11 Sean Cribbs <sean at basho.com>
>>>>
>>>>> We intend to overhaul the Erlang client soon. In the meantime, Riak CS
>>>>> has done exactly what Jeremy has suggested. Look here:
>>>>> https://github.com/basho/riak_cs/blob/develop/src/riak_cs_riakc_pool_worker.erl
>>>>>
>>>>>
>>>>> On Wed, Jul 10, 2013 at 5:46 PM, Konstantin Kalin <
>>>>> konstantin.kalin at gmail.com> wrote:
>>>>>
>>>>>> Oops… was looking at wrong column. Sorry and thanks for the advice.
>>>>>>
>>>>>> Thank you,
>>>>>> Konstantin.
>>>>>>
>>>>>> On Jul 10, 2013, at 3:41 PM, Jeremy Ong wrote:
>>>>>>
>>>>>> The X there indicates that it does not support connection pooling out
>>>>>> of the box in contrast to the check. I'd look at poolboy (to use in
>>>>>> conjunction with riakc_pb_socket) and riakpool (which pulls in
>>>>>> riak-erlang-client as a dependency).
>>>>>>
>>>>>>
>>>>>> On Wed, Jul 10, 2013 at 3:33 PM, Konstantin Kalin <
>>>>>> konstantin.kalin at gmail.com> wrote:
>>>>>>
>>>>>>> Looking at
>>>>>>> http://docs.basho.com/riak/latest/references/Client-Libraries/ I
>>>>>>> see that Erlang riak client should support Cluster connections/pools. But
>>>>>>> looking at Erlang riak client source code I would say that it doesn't
>>>>>>> support Cluster connections/pools out of box. And I have to develop my own
>>>>>>> code to have load balancing/connection pool. Is it right and the
>>>>>>> documentation is incorrect and needs to be updated?
>>>>>>>
>>>>>>> Thank you,
>>>>>>> Konstantin.
>>>>>>>
>>>>>>> _______________________________________________
>>>>>>> riak-users mailing list
>>>>>>> riak-users at lists.basho.com
>>>>>>> http://lists.basho.com/mailman/listinfo/riak-users_lists.basho.com
>>>>>>>
>>>>>>>
>>>>>>
>>>>>>
>>>>>> _______________________________________________
>>>>>> riak-users mailing list
>>>>>> riak-users at lists.basho.com
>>>>>> http://lists.basho.com/mailman/listinfo/riak-users_lists.basho.com
>>>>>>
>>>>>>
>>>>>
>>>>>
>>>>> --
>>>>> Sean Cribbs <sean at basho.com>
>>>>> Software Engineer
>>>>> Basho Technologies, Inc.
>>>>> http://basho.com/
>>>>>
>>>>> _______________________________________________
>>>>> riak-users mailing list
>>>>> riak-users at lists.basho.com
>>>>> http://lists.basho.com/mailman/listinfo/riak-users_lists.basho.com
>>>>>
>>>>>
>>>>
>>>> _______________________________________________
>>>> riak-users mailing list
>>>> riak-users at lists.basho.com
>>>> http://lists.basho.com/mailman/listinfo/riak-users_lists.basho.com
>>>>
>>>>
>>>
>>
>> _______________________________________________
>> riak-users mailing list
>> riak-users at lists.basho.com
>> http://lists.basho.com/mailman/listinfo/riak-users_lists.basho.com
>>
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.basho.com/pipermail/riak-users_lists.basho.com/attachments/20130716/b2b80f9b/attachment.html>


More information about the riak-users mailing list