[erlang-questions] 0MQ libraries
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
>> 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
> 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:
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:
(Web site doesn't provide talk links unfortunately - just search for CZMQ)
More information about the erlang-questions