[zeromq-dev] Various Majordomo protocol versions
Brett Viren
brett.viren at gmail.com
Thu Feb 27 20:57:38 CET 2020
Hi,
I'm trying to understand the Majordomo protocol landscape. I thought it
was simple but the more I looked, the more confused I get. Let me
summarize what I find and please say where I get anything wrong.
Ultimately, I'm trying to figure out how best to adopt the general
Majordomo pattern into a project of ours.
It seems there are at least four versions of the protocol in the wild:
0.1: is what's in the Zguide examples. The clients and workers are both
strictly synchronous.
0.2: is what is described in RFC 18/MDP. It adds new PARTIAL/FINAL
commands to 0.1 and so some async behavior. I find it implemented in
the Python package on github at shoppimon/majortomo.
"0.3": A non-spec'ed extension to 18/MDP referenced in this issue:
https://github.com/zeromq/majordomo/issues/34 and apparently living in
the gitub repo zeromq/majordomo under libmdp/. It replaces the
PARTIAL/FINAL commands of 18/MDP with a REPORT command (and maybe other
things). It is not using zproto.
"0.x": the contents of the github repo zeromq/majordomo src/ directory.
This appears to be a zproto based extension to 18/MDP and not "0.3" as
it still has PARTIAL/FINAL. However, the move to zproto seems to break
18/MDP message format in three ways I can see:
- prefixing with signature 0xAAA4
- packing the initial frames of 18/MDP into one
- adding zproto message type IDs in addition to 18/MDP IDs which are
still present as zproto msg field "messageid"
I call this "0.x" because I don't know if it has a real version. In the
Zproto XML the comment claims it is Majordomo Protocol version 0.2 and
defines VERSION to 2. However, because of the message packing changes
zproto brings I think it's not compatible with 18/MDP (right?).
Does this summarize the situation correctly?
-Brett.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 832 bytes
Desc: not available
URL: <https://lists.zeromq.org/pipermail/zeromq-dev/attachments/20200227/e7f2048b/attachment.sig>
More information about the zeromq-dev
mailing list