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
260
1
Share
BEAM: The Perfect Fit for Networks
Andrea Leopardi
June 10, 2023
More Decks by Andrea Leopardi
See All by Andrea Leopardi
Agentic Elixir
whatyouhide
0
450
The Umbrella and the Range
whatyouhide
0
60
gen_statem - OTP's Unsung Hero
whatyouhide
2
330
The World is a Network (and We Are Just Nodes)
whatyouhide
1
250
Update from the Elixir team - 2022
whatyouhide
0
460
Testing Asynchronous OTP
whatyouhide
1
580
Elixir Sightseeing Tour
whatyouhide
0
480
Mint - Disrupting HTTP clients
whatyouhide
0
300
BEAM Architecture Handbook
whatyouhide
7
3k
Other Decks in Programming
See All in Programming
Spec Driven Development | AI Summit Vilnius
danielsogl
PRO
1
150
Back to the roots of date
jinroq
0
790
AWSはOSSをどのように 考えているのか?
akihisaikeda
0
110
UaaL×Androidアプリのメモリ計測 — Memory Profilerの先へ
rio432
0
140
From Formal Specification to Property Based Test
ohbarye
0
2.4k
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
260
サークル参加から学ぶ、小さな事業の回し方
yuzneri
0
160
AI時代だからこそ「Bloc」を採用する価値があるのかもしれない
takuroabe
0
150
Kingdom of the Machine
yui_knk
2
1.5k
AI時代のエンジニアリングの原則 / Engineering Principles in the AI Era
haru860
0
1.2k
Programming with a DJ Controller — not vibe coding
m_seki
3
820
tRPCの概要と少しだけパフォーマンス
misoton665
2
270
Featured
See All Featured
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4.3k
Self-Hosted WebAssembly Runtime for Runtime-Neutral Checkpoint/Restore in Edge–Cloud Continuum
chikuwait
0
510
Introduction to Domain-Driven Design and Collaborative software design
baasie
1
780
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.4k
Chasing Engaging Ingredients in Design
codingconduct
0
190
Unlocking the hidden potential of vector embeddings in international SEO
frankvandijk
0
790
The Mindset for Success: Future Career Progression
greggifford
PRO
0
330
4 Signs Your Business is Dying
shpigford
187
22k
Java REST API Framework Comparison - PWX 2021
mraible
34
9.3k
Ethics towards AI in product and experience design
skipperchong
2
270
エンジニアに許された特別な時間の終わり
watany
106
240k
Impact Scores and Hybrid Strategies: The future of link building
tamaranovitovic
0
270
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!