Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
BEAM: The Perfect Fit for Networks
Search
Andrea Leopardi
June 10, 2023
Programming
1
190
BEAM: The Perfect Fit for Networks
Andrea Leopardi
June 10, 2023
Tweet
Share
More Decks by Andrea Leopardi
See All by Andrea Leopardi
gen_statem - OTP's Unsung Hero
whatyouhide
1
210
The World is a Network (and We Are Just Nodes)
whatyouhide
1
200
Update from the Elixir team - 2022
whatyouhide
0
390
Testing Asynchronous OTP
whatyouhide
1
510
Elixir Sightseeing Tour
whatyouhide
0
410
Mint - Disrupting HTTP clients
whatyouhide
0
240
BEAM Architecture Handbook
whatyouhide
7
2.8k
The Evolution of a Language
whatyouhide
0
140
Elixir - functional, concurrent, distributed programming for the rest of us
whatyouhide
2
320
Other Decks in Programming
See All in Programming
Module Boundaries and Architecture with Forensic Analysis @NxSummit Amsterdam 2025
manfredsteyer
PRO
0
100
Contribute to Comunities | React Tokyo Meetup #4 LT
sasagar
0
500
新しいPHP拡張モジュールインストール方法「PHP Installer for Extensions (PIE)」を使ってみよう!
cocoeyes02
0
410
AWSで雰囲気でつくる! VRChatの写真変換ピタゴラスイッチ
anatofuz
0
160
Being an ethical software engineer
xgouchet
PRO
0
210
ウォンテッドリーの「ココロオドル」モバイル開発 / Wantedly's "kokoro odoru" mobile development
kubode
1
140
Ruby's Line Breaks
yui_knk
2
1.2k
一緒に働きたくなるプログラマの思想 #QiitaConference
mu_zaru
51
13k
Do Dumb Things
mitsuhiko
0
440
API for docs
soutaro
2
1.4k
The Evolution of the CRuby Build System
kateinoigakukun
0
720
SEAL - Dive into the sea of search engines - Symfony Live Berlin 2025
alexanderschranz
1
140
Featured
See All Featured
Why You Should Never Use an ORM
jnunemaker
PRO
55
9.3k
Bash Introduction
62gerente
611
210k
The Cost Of JavaScript in 2023
addyosmani
49
7.7k
Git: the NoSQL Database
bkeepers
PRO
430
65k
YesSQL, Process and Tooling at Scale
rocio
172
14k
A designer walks into a library…
pauljervisheath
205
24k
Reflections from 52 weeks, 52 projects
jeffersonlam
349
20k
Building an army of robots
kneath
304
45k
Visualization
eitanlees
146
16k
VelocityConf: Rendering Performance Case Studies
addyosmani
328
24k
Designing Experiences People Love
moore
141
24k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
227
22k
Transcript
None
None
TCP TAKING CONFERENCE PICTURES
None
ANDREALEOPARDI.COM @WHATYOUHIDE
None
@ITALIANCOMMENTS ITALIANS MAD AT FOOD
None
None
None
None
None
None
None
OUTLINE
BEAM FIT SERVERS CLIENTS
WHY IS THE BEAM SUCH A GREAT FIT?
THE BEAM THE PEOPLE AND
PROCESS = PERSON
None
CONCURRENCY
MEMORY
MEMORY AND THOUGHTS ARE IMMUTABLE
COMMUNICATION
HOW DO HUMANS SHARE INFORMATION?
SPEECH!
TALK = COPY INFORMATION
MESSAGE PASSING
SPEAKING IS ASYNC, LISTENING IS SYNC
NETWORKS
None
None
SERVERS
TCP
SSL
None
None
:gen_tcp
{:ok, listen_socket} = :gen_tcp.listen(4000, [])
{:ok, listen_socket} = :gen_tcp.listen(4000, []) {:ok, socket} = :gen_tcp.accept(listen_socket)
None
None
None
None
DynamicSupervisor
None
None
None
None
None
CLIENTS
RECONNECTIONS
POOLING
WHEN TO RECONNECT?
BACKOFF!
THUNDERING HERD
None
None
None
None
None
None
None
MULTIPLEXING
None
IDENTIFYING REQUESTS
HANDLING OFFLINE
None
CONCLUSION
LET IT CRASH? ...NO
None
None
* "IT'S ABOUT THE GUARANTEES", FRED HEBERT * "PERSISTENT CONNECTIONS
WITH GEN_STATEM", ME * THOUSAND ISLAND LIBRARY * "COMPUTER NETWORKS", A.TANENBAUM * "PROTOHACKERS IN ELIXIR" YOUTUBE SERIES
@WHATYOUHIDE THANK YOU!