4 ms·
The name doesn't really work in this project's favor. UNIX pipes are stream interfaces, whereas this looks to be message based - that's a fundamental differenc
by dln_eintr 10y ago
The name doesn't really work in this project's favor.
UNIX pipes are stream interfaces, whereas this looks to be message based - that's a fundamental difference.
Named pipes are uniquely identified in a well-defined local namespace, i.e the filesystem, whereas this seems to be an abstraction on top of Kafka with service discovery TBD.
This confused me while reading up on the project.
- cle 10y agoHow is it a fundamental difference? Unix streams are character messages, so this is basically a superset of that functionality. (I don't know much about Unix streams, so correct me if I'm wrong.)
- michaelmior 10y agoGenerally when a protocol is referred to as message-based it's because there's some framing around the payload. This can make it impractical as compared to a streaming protocol that just passes data back in forth. In some real-time cases, you can't tolerate the latency of waiting to bundle multiple items in a single payload but you also can't tolerate the overhead of framing many small messages.
- deleted 10y ago[deleted]
- codys 10y agoAF_UNIX on linux supports SOCK_DGRAM and SOCK_SEQPACKET in addition to SOCK_STREAM, so having message based interfaces won't be much of a change for some users. SOCK_DGRAM at least appears to be widely supported (FreeBSD & Illumos & OpenBSD). SOCK_SEQPACKET is at least supported by OpenBSD (I'm going by what's in various docs/man pages).