[erlang-questions] can nodes fail/recover too fast to be seen?

Jonathan Leivent <>
Sat Jul 6 00:32:31 CEST 2013


On 07/05/2013 05:44 PM, Per Hedeland wrote:
> Jonathan Leivent <> wrote:
>>
>> On 07/05/2013 04:31 PM, Per Hedeland wrote:
>>> Jonathan Leivent <> wrote:
>>>>
>>>> OK - so it is TCP that saves the day.  I'm not sure I want to be that
>>>> dependent on TCP, though.
>>>
>>> I'm not sure how to interpret that statement. If you mean
>>>
>>> - "I want to be able to use something other than TCP" - fine, as long as
>>> it provides the same guarantees, and you can figure out how to hook it
>>> into the Erlang distribution.
>>
>> I might want to use UDP in the future.  Or, something that is just
>> slightly more than UDP - such as providing traffic control, but not
>> reliability. My app is supposed to be able to handle
>> lost/duplicate/unordered messages on is own - so much of what TCP
>> provides is redundant.
>
> So use UDP to send Erlang terms as binaries over plain sockets, gen_udp
> is a fine module. But don't try to implement Erlang distribution on top
> of UDP - some number of years from now you will at best have
> re-implemented TCP with characteristics that are significantly inferior
> to the real thing. Or you may have something that *isn't* Erlang
> distribution.
>
> --Per
>

The Erlang implementation is a reference implementation - so it will be 
translated elsewhere, including to places where TCP has too much 
overhead.  I'm not trying to re-invent Erlang's distributed 
infrastructure for Erlang.  But, I might want to demonstrate that the 
reference implementation, although in Erlang, can be ported elsewhere 
without also having to port much of Erlang's infrastructure with it.

-- Jonathan




More information about the erlang-questions mailing list