Hacker News new | past | comments | ask | show | jobs | submit login

I'm confused. I thought 0MQ had essentially been superceded by nanomsg [0]. What's the deal?

On a related note, using nnpy [1] and mangos [0] have been a real pleasure.

And lastly, a bit of info on how 0MQ and nanomsg differ [3].

[0] http://nanomsg.org/ [1] https://github.com/nanomsg/nnpy [2] https://github.com/go-mangos/mangos [3] http://nanomsg.org/documentation-zeromq.html




Read the ZeroMQ manual. That's the most important part of ZMQ, as it's the clearest and best guide to your options for partitioning a task and arranging communication between software processes.

After that, you can implement your stuff in 0MQ, AMQP, nanomsg, or whatever else. I fully expect nanomsg and 0MQ to compete with each other on Github over the next 5 years or so, and I personally won't take sides.

For me, I use the manual to design programs I then write in Rust, a lot of it with no explicit message passing at all. (REQ-REP and PUSH PULL become simple function calls, sometimes mediated through thread spawning, and sometimes not, for example.)


Hmm, I'm not sure I understand exactly what you're saying.

The 0MQ manual is (indeed) excellent, but it seems like a design whitepaper. It essentially describes what are known as the scalability protocols. As you say, it's independent of the implementation, i.e.: the library.

My confusion largely stems from a presentation I watched [0] in which it was implied that 0MQ suffered from a few design issues, and had therefore been forked. It seems like the library was rewritten in the meantime, however, so perhaps these points are no longer relevant.

I suppose I'm looking for a bit of clarity as to why the fork occurred in the first place.


http://hintjens.com/blog:117#toc4

``For ZeroMQ, our stated mission was "Fastest. Messaging. Ever." This is a nice, and nearly impossible answer to a problem we could all agree on: namely, the slow, bloated technology available at that time. However, my co-founder Martin and I had conflicting goals. He wanted to build the best software possible, while I wanted to build the largest community possible. As the user base grew, his dramatic changes, which broke existing applications, caused increasing pain.

``In that case, we were able to make everyone happy (Martin went off to build a new library called "Nano").''


That fork was long enough ago that those issues are moot.


Martin Sustrik split because of differences, did a completely new implementation called nanomsg. He is no longer maintaining nanomsg. That task has fallen to someone else, but it doesn't seem to be too active at the moment.


Right, but my point was rather about the differences you mention. I was under the impression that 0MQ was superceded by nanomsg for technical reasons (UNIX-iness, 0MQ's threading model, etc).

Whence comes the impression that nanomsg is inactive?


>Whence comes the impression that nanomsg is inactive?

Because two 'main' maintainers so far abandoned it quite publicly, maybe someone picked it up afterwards.


Garrett D'Amore, who was previously a maintainer and is also the maintainer of mangos, returned in April on the condition he be BDFL.

See: https://github.com/nanomsg/nanomsg/issues/619


last commit 9 days ago: It's active.


Ah, I missed it.

The mangos project seems to be alive and well, in any case.



Not disagreeing with you or the postmortem, but:

1. that post is from Feb 8, 2016

2. nanomsg 1.0 was released on June 10, 2016

After nanomsg 1.0 release, recent activity on github includes:

8 days ago -- fixes #828 Add logical connections to UDP RFC

9 days ago -- fixes #827 nanomsg zerotier mapping rfc errors

11 days ago -- fixes #825 Extra tests in pipe.c gdamore committed 11 days ago

15 days ago -- fixes #800 accept4 not implemented on all systems

15 days ago -- fixes #783 WS transport - not connectable from Firefox

16 days ago -- fixes #821 NN_WS_HANDSHAKE_CRLF is silly

And etc.


After that, Garrett D'Amore eventually returned on condition he be BDFL. See https://github.com/nanomsg/nanomsg/issues/619

Since then the project looks to be fairly healthy.


Oh good! This is the guy behind mangos, too.


Hmm I missed it. In addition to the sibling comment above, the mangos project seems alive and well.


Yes you are confused. The 0MQ[0] have never been superceded by nanomsg. The deal as you are pointing out very clearly is that the two projects are alive and well.

On a related note, using jupyter[1], salt[2], circus[3] and building fruits have been a real pleasure too.

And lastly, a bit of info on how 0MQ and nanomsg differ[4].

[0]http://zeromq.org/ [1]http://jupyter.org/ [2]https://saltstack.com/ [3]https://github.com/circus-tent [4]http://hintjens.com/blog:112




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: