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
170
BEAM: The Perfect Fit for Networks
Andrea Leopardi
June 10, 2023
Tweet
Share
More Decks by Andrea Leopardi
See All by Andrea Leopardi
The World is a Network (and We Are Just Nodes)
whatyouhide
0
180
Update from the Elixir team - 2022
whatyouhide
0
370
Testing Asynchronous OTP
whatyouhide
0
490
Elixir Sightseeing Tour
whatyouhide
0
390
Mint - Disrupting HTTP clients
whatyouhide
0
230
BEAM Architecture Handbook
whatyouhide
7
2.7k
The Evolution of a Language
whatyouhide
0
130
Elixir - functional, concurrent, distributed programming for the rest of us
whatyouhide
2
310
Papers we love: Elixir edition
whatyouhide
5
1.1k
Other Decks in Programming
See All in Programming
CloudNativePGがCNCF Sandboxプロジェクトになったぞ! 〜CloudNativePGの仕組みの紹介〜
nnaka2992
0
200
[JAWS-UG横浜 #79] re:Invent 2024 の DB アップデートは Multi-Region!
maroon1st
1
130
Linux && Docker 研修/Linux && Docker training
forrep
23
4.2k
盆栽転じて家具となる / Bonsai and Furnitures
aereal
0
3.1k
法律の脱レガシーに学ぶフロントエンド刷新
oguemon
5
660
令和7年版 あなたが使ってよいフロントエンド機能とは
mugi_uno
12
6.1k
最近のVS Codeで気になるニュース 2025/01
74th
1
240
Terraform で作る Amazon ECS の CI/CD パイプライン
hiyanger
0
120
ATDDで素早く安定した デリバリを実現しよう!
tonnsama
1
2.5k
iOSエンジニアから始める visionOS アプリ開発
nao_randd
3
100
chibiccをCILに移植した結果 (NGK2025S版)
kekyo
PRO
0
190
混沌とした例外処理とエラー監視に秩序をもたらす
morihirok
19
3.4k
Featured
See All Featured
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
193
16k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
4
380
The Invisible Side of Design
smashingmag
299
50k
Optimizing for Happiness
mojombo
376
70k
Build The Right Thing And Hit Your Dates
maggiecrowley
34
2.5k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
29
2.2k
Designing for humans not robots
tammielis
250
25k
Building Flexible Design Systems
yeseniaperezcruz
328
38k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
30
2.1k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
98
18k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
3
280
Learning to Love Humans: Emotional Interface Design
aarron
274
40k
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!