Friday 28th November, 2014

18:52Kaj, maybe I should ask, instead, what poking under the hood you've had to do. I'm not stressing 0MQ in my work (very low message rates, largely for IPC), but some other work I did with it a few years ago hit it much harder and was still very easy to do.

Kaj

22:59Most simple examples, and what most people start with, is request/reply, but this quickly becomes useless in real-world situations

23:01To be more flexible and scale it, you have to switch to dealer/router, which means managing and interpreting the multiple parts of request/reply messages, including the under-the-hood identity part

23:04Now you're juggling sub-messages and babysitting their consistency, and soon you have to manage the internal sub-messages by creating, copying and destroying them, and comparing their content

23:06First you think, ZeroMQ is about queueing, so I don't have to make my own message queues anymore, but again that only works in the simplest examples

23:07When you need more flexibility and performance, you're back to maintaining your own message queues, and the 0MQ queues become a hindrance, because you can't access them once a message is in there

Kaj

23:14I'm probably spoiled because I never worked with earlier, complex messaging systems, but this is my experience

23:17It would also be different if you're working with low-level languages, but in REBOL/Red a message queue is easy to do, so why give up control over it?

Saturday 29th November, 2014

Pekr

06:48Kaj - having your experience with ZeroMQ - what do you think about the Rebol/Services architecture? Is it any better in organising more higher (app) level stuff, than starting with low level ZeroMQ stuff?

Robert

07:28I see BEEP at a much higher level than 0MQ. It's for application developers, you care about the application protocol not the technology below. Here is an even higher-level lib build on top of BEEP: https://www.tml-software.com/

Kaj

15:56Petr, I just happened to review REBOL/Services again with the hindsight of 0MQ experience

15:57It's amazing how Carl solved all the same problems at around the same time 0MQ was designed

15:58Also, a lot of stuff that was traditionally missing from 0MQ is in R/S, such as encryption and authentication

16:00On the other hand, both fail to provide the first needs most people have: an HTTP transport that is able to traverse firewalls is missing from both

16:02Further, R/S manages to cripple its added value of encryption by only providing cloaking in the free version, and requiring paid versions for real encryption that you can't even order anymore

16:03R/S is much nicer and quicker to program because it's all REBOL, but 0MQ's point is the reverse: that it's language neutral, which is also very powerful