TE
科技回声
首页24小时热榜最新最佳问答展示工作
GitHubTwitter
首页

科技回声

基于 Next.js 构建的科技新闻平台,提供全球科技新闻和讨论内容。

GitHubTwitter

首页

首页最新最佳问答展示工作

资源链接

HackerNews API原版 HackerNewsNext.js

© 2025 科技回声. 版权所有。

ZeroMQ =/= Erlang

77 点作者 spahl将近 14 年前

8 条评论

tmarthal将近 14 年前
I have to agree with the article. The writeups from the founders of ZeroMQ always make it seem like a magic bullet, but a few years back when I got down to implementing a distributed 0mq C++ application, it was a hoary mess and we had to implement basic thread pool functionality to keep track of all of our resources. It turns out that we would have been better off using an off-the-shelf messaging solution that kept track of the resources, even with the 'overhead' that an independent broker like RabbitMQ brings. At least the product would have been finished (AFAIK it was scraped and raw binary socket write/reads were used instead).<p>So the point about Erlang bringing "Fast process creation/destruction" to the table is especially important: if you want to bootstrap an application which needs low-latency, low-overhead distributed message passing, you are better off using Erlang or something else.
jrockway将近 14 年前
<i>You can use poll with ZeroMQ to efficiently use many channels in a single process at once; however, you don’t get to block on particular kinds of message, meaning you have to buffer messages you don’t want to deal with yet, or keep complex state around.</i><p>Well, actually, you can have as many ZMQ_SUB sockets as you want connected to the same ZMQ_PUB endpoints, and just set each to subscribe to separate topics.<p>ZeroMQ is not a message queue. It's sockets++.<p>If you want a web interface where non-programmers can log in and interfere with your message passing, you don't want ZeroMQ. If you are writing something like X11 or a web server, though, it might be exactly what you need.
评论 #2717139 未加载
nivertech将近 14 年前
How can 0MQ - a library (or even Communication Middleware) can compete with Erlang/OTP - a Programming Language and Platform ?<p>They apples and oranges.<p>Some people use both. There is Erlang binding for 0MQ.
koenigdavidmj将近 14 年前
Down, and too new for Google cache. Anybody have a mirror?<p>EDIT: Apparently Google cache works. Linky: <a href="http://webcache.googleusercontent.com/search?q=cache%3Ahttp%3A%2F%2Fwww.rabbitmq.com%2Fblog%2F2011%2F06%2F30%2Fzeromq-erlang%2F&#38;ie=utf-8&#38;oe=utf-8&#38;aq=t&#38;rls=org.mozilla:en-US:official&#38;client=firefox-a" rel="nofollow">http://webcache.googleusercontent.com/search?q=cache%3Ahttp%...</a>
评论 #2716434 未加载
Uchikoma将近 14 年前
As others posted, ZeroMQ and RabbitMQ are two different things for different use cases. ZeroMQ is a socket product, RabbitMQ is a message queue. It doesn't help that ZeroMQ uses MQ in it's name. Or perhaps it really means zero MQ :-)
评论 #2717267 未加载
sustrik将近 14 年前
One thing to keep in mind is that 'multithreading magic' article was written when 0MQ was viewed to be equivalent to other MQ systems. The idea of using 0MQ for building multi-threaded apps was really surprising and non-obvious for a lot of people back then.<p>So, the article focuses on 0MQ =/= SomeGenericMQ and doesn't stress the 0MQ =/= Erlang point of view.
spahl将近 14 年前
ZeroMQ might not bring the complete power of Erlang to other programming languages but what it brings is, at least in my opinion, the most powerful and interesting part!
评论 #2716316 未加载
评论 #2717276 未加载
评论 #2716117 未加载
Kwpolska将近 14 年前
s|=/=|!=|<p>much better.