54
votes

Could you give some examples of zeromq?

6
ZeroMQ's use cases are anything that connects moving pieces on a network. Any kind of distributed system. Since the footprint to add ZeroMQ to a node is very low you can do things like talk to 10,000 systems in parallel (like Salt does). Since the cost to process one message is so low you can handle really high volumes (millions of messages per second). We use ZeroMQ to connect mobile devices together into a peer-to-peer mesh. We use it to build back-ends, which can scale from one box to many boxes without code changes.Pieter Hintjens
@PieterHintjens I am working on a peer to peer project on mobile phones and intend to use ZeroMQ. Are there any limitations to the number of devices that ZeroMQ can handle at any given instance?AndroidDev
@AndroidDev Do you intend on deploying via app stores? My understanding is ZeroMQ is LGPL, and mobile app stores are not compatible with the LGPL due to the end-user re-linking requirement.Jared Thirsk
zeromq.org/area:faq#toc4 seems to be no problem with licenseHeroselohim
Even though the question is broad, there can be nothing better when the author of ZeroMQ replied himself. RIP and thank you @PieterHintjensRakib Fiha

6 Answers

16
votes

Let's say you want to have a bulletin board of some kind. You want to allow only some people to see it, by subscribing to the bulleting board.

This can be done using the publisher/subscriber model of ZeroMQ.

Now, let's say you need to send some asynchronous messages. That is, when a message is sent from system A and needs to get to system B, it is guaranteed to be delivered later, even if systems A and B cannot communicate at the moment when that message is sent. You can imagine a use case being SMS messages.

This can be done using asynchronous messaging model of ZeroMQ.

Basically, any JMS compliant solution like ZeroMQ will allow you to reliably broadcast or send a "message", whatever that message may be, to some other party with as little hassle as possible.

13
votes

Please see the ZeroMQ blog -- they regularly post usage stories about different deployments, language bindings, etc.

3
votes

Last time Rick Olson created a "clone" of Dropbox: https://gist.github.com/122849a52c5b33c5d890

1
votes

They also have an excellent guide that offers a complete peek into the possible use cases and their real time applications.

And if you have more time, you can go thru the whole website

1
votes

My personal use of this library is cross language communication:

I pass data between Python and Haskell