Goroutines are a powerful tool in Go, yet often under utilised in most backend API development. It’s helpful to view them in a real world analogy, so we take a coffee shop example, and build it up from zero to an app that can handle 100x traffic. Code examples provided for anyone who wants to follow along in real time.
Here’s how it’ll “Go”:
- A simple application with no concurrency
- Identifying areas to split out to add concurrency
- Goroutines within goroutines?
- Deployment scaling (with a small side of Docker + Kubernetes info)
- Getting clever with specific goroutine deployments
- Case study of real world technical example
I come from a non-traditional tech background and so my talk really aims to be accessible to folks who are new to Go, but is relevant for anyone building out apps with Go who need to scale. I use the coffee shop analogy to really hit home a less “techy” example that is often easier to grasp than the heavier technical concepts while still translating to impressive techniques used to combine goroutines with deployments for a robust application.