top | item 40966258

(no title)

ohnoesjmr | 1 year ago

Pretty much this.

I always found it crazy how zmq gained any traction at all.

"Oh, I have a req/resp workload" - one of the sides restarts, goes out of rhythm with the state of the connection (whether its req or resp), unrecoverable errors.

Every system I've seen use zmq usually use it without these fancy patterns (use yeet messages in any order), and usually have some sort of "Is anybody there on the other side?" message to combat the fact there is no way to introspect connection state (otherwise your writes just block at the high water mark), at which point it would have been easier to just use tcp.

The whole thing to me reeks of mongo. It's great if you are completely incapable/incompetent of solving the problem properly.

discuss

order

bheadmaster|1 year ago

> at which point it would have been easier to just use tcp

Funny, I always used ZeroMQ as a message-oriented TCP-like protocol that reconnects automatically.

> It's great if you are completely incapable/incompetent of solving the problem properly.

Oof. I think it's great if you don't want to mess with low-level socket details and just want to write a actor-like messaging protocol.