[erlang-questions] 0MQ libraries

Garrett Smith <>
Sun Feb 9 14:45:23 CET 2014


On Sun, Feb 9, 2014 at 7:04 AM, Joe Armstrong <> wrote:
>
>
>
> On Sat, Feb 8, 2014 at 7:49 PM, Serge Aleynikov <> wrote:
>>
>> Just to add a piece of history - I was an author of the original
>> driver-based implementation of the Erlang ZMQ binding
>> (https://github.com/zeromq/erlzmq), which got more or less obsolete after
>> Yurii Rashkovskii implemented his NIF-based version
>> (https://github.com/zeromq/erlzmq2).
>>
>> Concerning your question, I haven't had a use for this project for a
>> while, but if there is anyone wishing to join the project and bring it up to
>> date that would be great.  Though I agree that a pure-Erlang wire-level
>> implementation would be of greater interest.
>
>
> I'm only interested in the pure erlang solution. NIFs worry me. They break
> the guarantees, they muck
> up the scheduler and so on. They should only be used when you've tried very
> very very vary hard
> not to use them.
>
> In the problem I want to solve I don't expect communication to be a
> bottleneck.
>
> I'd like a 100% correct Erlang reference implementation of 0MQ. This (if
> done) might have the interesting
> side effect that it could be used (say with quick check)  test the
> C-implementations of 0MQ.

+1 on the pure Erlang implementation.

Additionally, for those interested in using ZeroMQ with Erlang today,
the CZMQ bindings are *not* NIF based - they run as a C port in a
separate OS process with no chance of taking the VM down. CZMQ is an
API wrapper for ZeroMQ that makes it easier to keep up-to-date with
ZeroMQ changes. CZMQ also provides some very nice security features
including message encryption.

Again, the link for those interested:

https://github.com/zeromq/czmq

I'd be happy to move this along if people show interest, in particular
the docs, tutorials, etc. While the code is running in a
pre-production/test environment, it's so far stable for what's there.
To get started, I recommend looking over the tests and playing around
in the Erlang shell.

I'm giving a talk on this library in San Francisco on March 6:

http://www.erlang-factory.com/conference/show/conference-6/home/

(Web site doesn't provide talk links unfortunately - just search for CZMQ)

Garrett



More information about the erlang-questions mailing list