Process spawning is cheap in Erlang so you can spawn a new process for each incoming request. Cowboy does something similar to this. If you don't want to spwan a process for each request then you can have a worker pool (like poolboy) to respond to the requests.