Anyone interested in ZMQ?

177 views
Skip to first unread message

james aspinwall

unread,
Jun 15, 2017, 9:11:23 AM6/15/17
to Crystal

I really like the ZMQ philosophy. The ability to play with others is attractive.

ZeroMQ (also known as ØMQ, 0MQ, or zmq) looks like an embeddable networking library but acts like a concurrency framework. It gives you sockets that carry atomic messages across various transports like in-process, inter-process, TCP, and multicast. You can connect sockets N-to-N with patterns like fan-out, pub-sub, task distribution, and request-reply. It's fast enough to be the fabric for clustered products. Its asynchronous I/O model gives you scalable multicore applications, built as asynchronous message-processing tasks. It has a score of language APIs and runs on most operating systems. ZeroMQ is from iMatix and is LGPLv3 open source.

The library supports C++, C#, CL, Delphi, Erlang, F#, Felix, Haskell, Java, Objective-C, Ruby, Ada, Basic, Clojure, Go, Haxe, Node.js, ooc, Perl, and Scala.

I know that it has been ported to iOS compiled with LLVM. (http://zeromq.org/build:iphone)

james aspinwall

unread,
Jun 15, 2017, 9:22:14 AM6/15/17
to Crystal

Sorry, I should have done some more research before posting. I found https://github.com/benoist/zeromq-crystal, which is exactly what I wanted. I don't know how I missed it.

Chris Hobbs

unread,
Jun 15, 2017, 9:42:47 AM6/15/17
to crysta...@googlegroups.com

It’s last commit was about a year ago so it likely doesn’t work. It’s probably not too much work to update it however.

Eventually I think a native crystal zmq protocol implementation will appear and that’ll be the best because it’ll be built on crystal’s IO. I’ve considered working on it in the past.

--
You received this message because you are subscribed to the Google Groups "Crystal" group.
To unsubscribe from this group and stop receiving emails from it, send an email to crystal-lang...@googlegroups.com.
To post to this group, send email to crysta...@googlegroups.com.
Visit this group at https://groups.google.com/group/crystal-lang.
To view this discussion on the web visit https://groups.google.com/d/msgid/crystal-lang/f27cd1a9-6752-4bd9-831c-b7075d247758%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

james aspinwall

unread,
Jun 15, 2017, 9:45:49 AM6/15/17
to Crystal

I have ran a simple push-pull example and got 613,158 messages/second. The client-server example performed 34,647 messages/second. (https://github.com/benoist/zeromq-crystal/tree/master/examples)
Reply all
Reply to author
Forward
0 new messages