Practical Look at Erlang

10
Hamidreza Soleimani Practical Look at Erlang  Concurrent, Fault Tolerant and Distributed Programming Language Tehran Linux User Group February 18, 2014

Transcript of Practical Look at Erlang

Hamidreza Soleimani

Practical Look at Erlang

 

Concurrent, Fault Tolerant and Distributed Programming Language

Tehran Linux User Group

February 18, 2014

Strong Typing

Functional

Garbage CollectedRuntime System

Erlang Birthday:   1986

History & Philosophy 

Fault Tolerant DistributedConcurrent

History & Philosophy 

1. Concurrent

Sequential

Concurrent

Parallel

1. Concurrent

Hamid RezaMajid

Actor ModelAsync / Sync

ImmutableNo Race Condition

Reenterancy Light Process

HiHi

Fine?

Hi

Fine!

Hi

Light

Hi

Wear

2. Fault Tolerant

CorrectiveDefensive

“ Let it crash! ”“ Try to survive! ”

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