Post on 14-Apr-2017
Hamidreza Soleimani
Practical Look at Erlang
Concurrent, Fault Tolerant and Distributed Programming Language
Tehran Linux User Group
February 18, 2014
1. Concurrent
Hamid RezaMajid
Actor ModelAsync / Sync
ImmutableNo Race Condition
Reenterancy Light Process
HiHi
Fine?
Hi
Fine!
Hi
Light
Hi
Wear
2. Fault Tolerant
In Failure
“ Doesn't Need Restart ”“ Needs Restart ”
Human
Hot Swapping Feature Example: Apache Example: Yaws
3. Distributed
LoadBalancer
N1
N 4
N 3
N 2
N1
N 4
N 3
N 2
N1
N 4
N 3
N 2 Zone 2
Zone 3
Zone 1
ReliabilityScalability
Performance
No Single Point of Failure
3. Distributed
epmdNode 1Hamid
Port: 4369
Node 2Majid
Port: 42042Port: 42043
Erlang Port Manager DaemonErlang Distributed Protocol
No Need to IDL