WORKER POOL IN GO
A SIMPLE
WORKER POOL IN GO A SIMPLE WORKER POOL IN GO ABOUT ME Adam - - PowerPoint PPT Presentation
A SIMPLE WORKER POOL IN GO A SIMPLE WORKER POOL IN GO ABOUT ME Adam Presley Father Software engineer A SIMPLE WORKER POOL IN GO AGENDA Discuss designing for concurrency Using Go language types Review code Demo A
A SIMPLE
A SIMPLE WORKER POOL IN GO
ABOUT ME
▸ Adam Presley ▸ Father ▸ Software engineer
A SIMPLE WORKER POOL IN GO
AGENDA
▸ Discuss designing for concurrency ▸ Using Go language types ▸ Review code ▸ Demo
…CONCURRENCY IS THE COMPOSITION OF INDEPENDENTLY EXECUTING PROCESSES, WHILE PARALLELISM IS THE SIMULTANEOUS EXECUTION OF COMPUTATIONS.
Rob Pike
A SIMPLE WORKER POOL IN GO
WHAT IS
A SIMPLE WORKER POOL IN GO
A SIMPLE WORKER POOL IN GO
SMTP LISTENER
TCP CONNECTION GET A WORKER
TCP connection is established and listens for clients Next available worker is requested from the pool
DO WORK RETURN
Worker rejoins pool
HOW DO WE DO THIS?
A SIMPLE WORKER POOL IN GO
CHANNELS AND GOROUTINES
SERVER POOL
A channel of workers.
WORKER
Communicates with clients, parses mail
A SIMPLE WORKER POOL IN GO
USEFUL LINKS AND REFERENCES
▸ Rob Pike - “Concurrency is not Parallelism” - https://
www.youtube.com/watch?v=cN_DpYBzKso
▸ Nick Saika - “Worker Queues in Go” - http://nesv.github.io/
golang/2014/02/25/worker-queues-in-go.html
▸ Marcio Castilho - “Handling 1 Million Requests per Minute
with Go” - http://marcio.io/2015/07/handling-1-million- requests-per-minute-with-golang/
▸ MailSlurper - http://mailslurper.com