[erlang-questions] C nodes and OTP
Thu Jan 17 10:01:24 CET 2013
> C nodes have been a non-intrusive way to communicate with Erlang nodes, and
> is used in jinterface for JVM communication. So the main benefit of a C
> node is decoupling the startup of the C node code and the Erlang node code.
> If you don't need the startup decoupled, I believe an Erlang port is a
> better choice. If you want a simpler way of doing C-node-like integration,
> I have a project called CloudI (http://cloudi.org), which provides language
> integration (including Java) which avoids C nodes
One of the big advantages of a C node is that the C code can live a
relatively independent life: if it crashes, it does not take Erlang
with it. That's more important than simplicity or speed for us.
> The scalability limitation to C nodes is related to the fully connected
> network topology that distributed Erlang makes and the use of the ERL_TICK
> message (limiting distributed Erlang to 50-100 nodes, unless you get a
> really fast network.... then perhaps 200). So, avoiding C nodes is also
> avoiding scalability problems.
This is a semi-embedded system, so actually scalability is not really
a concern. Latency is, but so is reliability.
David N. Welton
More information about the erlang-questions