<div dir="ltr">Osiris is quite a different type of thing to the other ones in your list in that it will always first write terms to disk and only then replicate them (over TCP). That said it could do a decent replication job if you want a local buffer to decouple the production of terms from the replication part. Osiris does still need a dist erl connection for coordination messages and you'd have to modify the quorum commit semantics to fit your use case (e.g. a "leader" member on the production side and a "replica" member on the other side).<div><br></div><div>Cheers</div><div>Karl</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Fri, 1 Apr 2022 at 11:01, Dave Cottlehuber <<a href="mailto:dch@skunkwerks.at">dch@skunkwerks.at</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">I'm investigating how to maximise pushing mostly loosely ordered erlang terms (via `term_to_binary/1` and friends) between a mesh of erlang nodes.<br>
<br>
A single TCP stream isn't sufficient, so I'm expecting using either UDP or multiple TCP streams, to push up throughput. I don't expect the usual erlang distribution protocol to be suitable, because of the risk of congestion and head-of-line blocking of distribution-related traffic.<br>
<br>
Assume LFN scenario (Long Fat Pipes), up to 3-10GiB/s bandwith, usual inter-continental latency as default. No numbers yet, just "as much as possible / closest to theoretical maximum bandwidth". <br>
<br>
- zeromq: <a href="https://github.com/zeromq/chumak" rel="noreferrer" target="_blank">https://github.com/zeromq/chumak</a> | <a href="https://github.com/zeromq/erlzmq2" rel="noreferrer" target="_blank">https://github.com/zeromq/erlzmq2</a> | <a href="https://github.com/lukaszsamson/erlzmq" rel="noreferrer" target="_blank">https://github.com/lukaszsamson/erlzmq</a><br>
- osiris: <a href="https://github.com/rabbitmq/osiris" rel="noreferrer" target="_blank">https://github.com/rabbitmq/osiris</a><br>
- nanomsg: <a href="https://github.com/basho/enm" rel="noreferrer" target="_blank">https://github.com/basho/enm</a><br>
- <a href="https://www.erlang.org/doc/man/gen_sctp.html" rel="noreferrer" target="_blank">https://www.erlang.org/doc/man/gen_sctp.html</a><br>
<br>
Has anybody other suggestions to add to the list?<br>
<br>
thanks<br>
Dave<br>
</blockquote></div><br clear="all"><div><br></div>-- <br><div dir="ltr" class="gmail_signature"><div dir="ltr"><div><b>Karl Nilsson</b></div></div></div>