@francescoC
francesco@erland-consulting.com
- Whatsapp backend is written in erlang :-)
- Concurrency
- Mutable State
- 1) programm error -> data might be corrupt
- 2) where do you locate state
- 3) what happens if network connectivity fails?
- Immutable State
- 1) data does not get corrupted
- 2) state is copied
- 3) make sure you business logic can handle network splits
- => this is the erlang concurrency model
- Erlangs Concurrency Model
- erlang processes do not copy system processes
- processes monitor each other
- process creation: less than a ms, 1 kb memory
- each process gets a separate id, used for sending messages
- message passing is asynchronous