[zeromq-dev] Formally modelling the publish-subscribe pattern

John Lång john.lang at mykolab.com
Wed Jun 2 19:29:50 CEST 2021

Hello again,

I have a new question on this topic. I'm now summarising my assumptions 
on the network protocols underlying my distributed system. These are my 
assumptions on 0MQ PUB-SUB connections in my model:

• Message contents are never altered.
• Messages between two processes are not duplicated in transit.
• Those messages between two processes that are received arrive in the 
order they were sent.
• When there is a message in transit between two processes and the sender
attempts to transmit another message, then the new message will be dropped.
• Messages to n recipients are transmitted over n one-to-one connections
which may fail or drop messages independently.

Are these assumptions sensible?

I also have an assumption expressing that the publisher process may 
disconnect from the subscriber at any time, but these disconnections 
could be also caused by reasons other than network failures, e.g., 
server breakdowns or even planned maintenance. The point is that the 
subscribers should not need to know the particular reason for a 
disconnection. All they need to do is to connect to another publisher.

Best regards,
John Lång

More information about the zeromq-dev mailing list