programming a zombie
DESCRIPTION
Introduction to distributed programming with Elixir and nice zombie examplesTRANSCRIPT
Programming a zombie
@darkofabijansemaphoreapp.comrenderedtext.com
Semaphore
•hosted continuous integration and deployment
•distributed & semi-fault-tolerant
•runs on 20 dedicated servers
•it’s all Ruby
Isolation
1
Body part isolation
2
Body isolation
2
Body isolation
Zombie world
Computer World
Isolation
Message passing
Elixir
BEAM
(EVM)Erlang
streaming APIs
server side events
web sockets
multi-core
Ruby / Ruby on Rails
great syntax
a lot of meta-programming
easy to create DSL
BEAM
x few million
half mobile data traffic in the world
99.999+%
def Math do
def sum do receive do {:sum, a, b} -> IO.puts(“Sum #{a + b}) sum() end
end
end
pid = spawn(fn -> Math.sum end)
pid <- {:sum, 2, 3}
=> Sum 5
{:sum, 2, 3}Math.sum
Shell
{:sum, 2, 3}Math.sum
Shell
{:sum, 2, 3}Math.sum
Shell
Novi Sad
Tokyo
pid = spawn(tokyo, fn -> Math.sum end)
pid <- {:sum, 2, 3}
OTP
Server
Event
FSM
Supervisor
Application
Leader
Books
Thank you!
Q&A