TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

ØMQ – The Guide (2011)

193 pointsby allendingover 4 years ago

17 comments

sgtnoodleover 4 years ago
ZeroMQ&#x27;s variety of socket semantics is great, and it does a good job abstracting away the messy details of TCP. You can build rather complicated systems on top of it much easier and faster than you could using raw sockets. The implementation itself has some rough spots, such as the multi threading. I really like the elegance of nanomsg, but it never really got the same polish that ZeroMQ did. I wouldn&#x27;t expect the same raw throughput as a hand-tuned TCP based protocol, but it&#x27;s generally more than fast enough for most use cases.<p>I believe the original developer passed away a few years ago?
评论 #24882322 未加载
评论 #24883955 未加载
评论 #24881936 未加载
评论 #24881708 未加载
calpatersonover 4 years ago
I have to say that I have never really had a positive impression of zeromq. I feel like it is particularly unsuccessful and that seems to be for some pretty good reasons.<p>Zeromq is a bag of tools and it&#x27;s not really clear to me how a novice would put them together safely. This is important for a message system because everyone has to start somewhere and it really shouldn&#x27;t be &quot;step 1: build your broker with our subroutines&quot;. Is that broker really going to be any good?<p>Secondly, for many years zeromq was a kind of monty python style &#x27;judean people&#x27;s front vs people&#x27;s front of judea&#x27; community. They split from the AMQP standardisation process I agree had clearly gone wildly wrong and then...split and then...split again.<p>Right as far as I know people doing messaging are using a) RabbitMQ if they&#x27;re deploying it themselves b) AWS of GCP&#x27;s thing or c) some proprietary thing which has no name recognition among the public (who here has heard of AMPS?) d) Kafka. No one is using zeromq as far as I know! Look forward to anyone sharing their positive experiences using zeromq on big projects eg in banks.
评论 #24882264 未加载
评论 #24882147 未加载
评论 #24883572 未加载
评论 #24882124 未加载
评论 #24882947 未加载
评论 #24883073 未加载
评论 #24882573 未加载
Domanover 4 years ago
We are using 0mq for monitoring of electric vehicles fleet. Millions of messages every day (hundreds of GB), zero problems with bad internet connection (common in moving vehicles). Every sent message is received regardless of connectivity issues. Just a little implementation annoyances here and there but it is serving us well since 2015.
评论 #24882349 未加载
random3over 4 years ago
0mq is great; however, the <i>0mq Guide</i> is the golden standard for technical documentation and one of the best tech writings there are.
评论 #24881919 未加载
评论 #24881052 未加载
评论 #24881926 未加载
theamkover 4 years ago
I looked at zeromq, but it seemed like it had very bad debug-ability and visibility into internal operations. Their FAQ [0] says things like:<p>&gt; How do I determine how many messages are in queue?<p>&gt; This isn&#x27;t possible. [...] rather than provide incorrect information the library avoids providing any view into this data.<p>&gt; How can I retrieve a list of all connected peers?<p>&gt; This is not supported.<p>Those kinds of decisions are very scary for production environment. We&#x27;ve had to debug network connectivity problems before, and it just possible what all the interfaces Linux kernel provides. I cannot imagine doing it with library which hides stuff from you on purpose.<p>[0] <a href="http:&#x2F;&#x2F;wiki.zeromq.org&#x2F;area:faq" rel="nofollow">http:&#x2F;&#x2F;wiki.zeromq.org&#x2F;area:faq</a>
评论 #24880914 未加载
评论 #24880852 未加载
评论 #24881542 未加载
评论 #24881116 未加载
评论 #24884277 未加载
pcglueover 4 years ago
Anyone know how nanomsg (<a href="https:&#x2F;&#x2F;nanomsg.org" rel="nofollow">https:&#x2F;&#x2F;nanomsg.org</a>) or nng (<a href="https:&#x2F;&#x2F;github.com&#x2F;nanomsg&#x2F;nng" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;nanomsg&#x2F;nng</a>) compares?<p>Interesting that nanomsg tries to better zeromq (<a href="https:&#x2F;&#x2F;nanomsg.org&#x2F;documentation-zeromq.html" rel="nofollow">https:&#x2F;&#x2F;nanomsg.org&#x2F;documentation-zeromq.html</a>) and then nng tries to better nanomsg (<a href="https:&#x2F;&#x2F;nng.nanomsg.org&#x2F;RATIONALE.html" rel="nofollow">https:&#x2F;&#x2F;nng.nanomsg.org&#x2F;RATIONALE.html</a>)<p>edit: just noticed nng and nanomsg share the same domain, so probably the same people behind them.
评论 #24881037 未加载
评论 #24881046 未加载
评论 #24881045 未加载
cetra3over 4 years ago
I&#x27;ve implemented bindings for ZeroMQ with Tokio in rust (<a href="https:&#x2F;&#x2F;github.com&#x2F;cetra3&#x2F;tmq" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;cetra3&#x2F;tmq</a>). I found ZeroMQ great for interop with Python&#x2F;Java if you just want some simple cross-process broadcast&#x2F;task management.
评论 #24884232 未加载
dangover 4 years ago
If curious see also<p>2015 <a href="https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=9633921" rel="nofollow">https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=9633921</a><p>2011 <a href="https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=21226822" rel="nofollow">https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=21226822</a>
fiatjafover 4 years ago
I have a feeling that ØMQ is a very good thing, but all these years I have never managed to understand what it is and what problem does it solve.
评论 #24880475 未加载
评论 #24880588 未加载
评论 #24880710 未加载
评论 #24880554 未加载
评论 #24880815 未加载
评论 #24880849 未加载
评论 #24880480 未加载
评论 #24880469 未加载
评论 #24880560 未加载
评论 #24881323 未加载
评论 #24881886 未加载
评论 #24880636 未加载
评论 #24880523 未加载
noncomlover 4 years ago
I am sure that the developers behind zmq are(or were) far more intelligent and better programmers than I will ever be, but I have to say that as a user I would never recommend it to anyone for the following reasons:<p>1. A lot of gotchas and surprising behavior. For example this:<p>&gt; To be more explicit: after calling zmq_send the socket may become readable (and vice versa) without triggering a read event on the file descriptor.<p>2. The library will assert internally without actually giving you any clues what did you do wrong as a user.<p>I would rather spend some extra time in development by using pure sockets rather than the stress of debugging problems, arising from the above, later.
harelover 4 years ago
I am actually using it in production as an easy mechanism to add non critical rpc calls between services. The only thing I can say about it is that zeromq hasn&#x27;t given me a reason to look for a replacement. Yet.
评论 #24882971 未加载
评论 #24881346 未加载
hnarnover 4 years ago
Ø is a vowel and a letter used in the Danish, Norwegian, Faroese, and Southern Sami languages. (Wikipedia)<p>It’s not an unused letter that you can snap up as a cool way to write zero. People will read it, some will recognize it and assume it has meaning, because it has. That’s how letters work.<p>There are zeroes with dashes through them, but if you look closely they almost always take care to keep the dash inside the (non-)circle zero to make the difference clearer.<p>I realize most people in the world won’t care about this, but with Northern European eyes, this looks stupid.
评论 #24882211 未加载
评论 #24882206 未加载
tjkrusinskiover 4 years ago
Love zeromq. Used it in production for years and it never posed any issues. Well documented, reliable and has a clear purpose. V good.
punnerudover 4 years ago
Ø - The 28. Letter in the Norwegian alphabet, pronounced as the beginning of the sound ‘uuuuh’ (like when someone is making a sound when thinking). It’s a join between O and E, and was at first written as Ө. The same sound in Swedish is Ö
评论 #24881262 未加载
评论 #24881023 未加载
评论 #24882278 未加载
m463over 4 years ago
what I&#x27;m wondering is:<p>we have <a href="https:&#x2F;&#x2F;xkcd.com&#x2F;927&#x2F;" rel="nofollow">https:&#x2F;&#x2F;xkcd.com&#x2F;927&#x2F;</a> with sockets in frame 1, and zeromq in frame 3<p>Are there some clear wins of zeromq over sockets&#x2F;udp&#x2F;tcp?
评论 #24880759 未加载
评论 #24881343 未加载
评论 #24880693 未加载
评论 #24880637 未加载
the__alchemistover 4 years ago
I recommend changing the landing page to include a clear description of what this is.
评论 #24880398 未加载
评论 #24880403 未加载
评论 #24883701 未加载
nurgasemeteyover 4 years ago
In 2015, in one project one &quot;clever&quot; co-worker decided to use &quot;zeromq&quot; in project where is the guarantee of delivery was must. I think that because he wanted to attach this technology as fancy stuff in his cv. Later he left and we had to rewrite message sending and converted to basic http.
评论 #24881061 未加载
评论 #24882099 未加载