← All sources
FOLLOWING / eli.thegreenplace.net

Eli Bendersky

Languages, compilers, Go, Python, implementation details

1 articles in your libraryVisit blog ↗
01
Eli BenderskyUNREAD

Concurrent Servers: Part 8 - Go

This part of a series on concurrent servers shows how Go handles the problem: launch one cheap, M:N-scheduled goroutine per client, avoiding async/await since the runtime already uses epoll for I/O. It then covers cases where you should still bound concurrency—compute-heavy tasks, limited downstream resources, and malicious clients—via a channel-as-semaphore pattern or a worker pool. Tradeoff noted: goroutines are cheap, but unbounded concurrency can still exhaust CPUs or file descriptors.