[erlang-patches] Add net_kernel and epmd support for multiple simultaneous distributed transport protocols

Serge Aleynikov serge@REDACTED
Thu Jan 9 23:51:14 CET 2014


Having implemented full Erlang distributed transport natively in C++ and
C#, I wouldn't say it's unbearable.  However, in some special cases, it
would indeed be interesting to bridge nodes implemented in dynamic
languages (e.g. Javascript) via some protocol that could be more simple
than the built-in distributed transport.

Frankly I would be more interested in optimizing some parts of the existing
transport, e.g. introducing special encoding 1-byte tags for boolean values
(as opposed to encoding a boolean as an atom on the wire taking 6 to 7
bytes), and other similar optimizations.

Another thing - after coding in Erlang for some time, one feels Erlang's
choice of representing strings as integer lists is natural.  However, when
bringing different languages over distributed transport, you'd want a
message {weights, [65, 66]} to be sent as a tuple with a second element
being received on the other side as a list, but the distribution encodes it
as {weights, "AB"}, and decoding it in a language that understands strings
differently than lists becomes a bit more challenging than necessary...
 Personally, I think if Erlang supported string types as a special flavor
of binaries it would be easier for it to live in heterogeneous clustered
environments...

Serge

On Thu, Jan 9, 2014 at 5:10 PM, Geoff Cant <nem@REDACTED> wrote:

> I would like to add one general thought / principle to guide improvements
> to ERTS's distribution machinery:
>
> 'It should be possible to implement distribution protocols in Erlang'
>
> (The current setup requires us to implement complicated network protocols
> in C, which I find just about unbearable when Erlang is close at hand)
>
> Cheers,
> --
> Geoff Cant
>
>
>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://erlang.org/pipermail/erlang-patches/attachments/20140109/ea0f5c9b/attachment.htm>


More information about the erlang-patches mailing list