Go learning by project: Souin (rex)
summary
Built a caching layer called Souin cache for Traefik to fix Traefik’s lack of HTTP caching, implemented in Go and shipping as v1.5.2, 100+ stars. Code uses concrete Go features: goroutines, channels and sync.WaitGroup for concurrency, the go toolchain for cross‑platform builds, and standard testing with go test. Live demo and repo show the cache hooked into Traefik, practical tradeoffs encountered, and that the result runs and integrates with Dockerized Traefik.
AI-written summary · about
chapters (17)
- 0:00Introduction
- 1:17Why Go was created
- 2:22Go ecosystem
- 4:08Traefik and Souin origin
- 5:56Go env and project structure
- 8:27Live demo setup
- 9:31Hello World in Go
- 11:16Understanding goroutines
- 12:20Goroutines demo
- 16:23Using WaitGroups for goroutine management
- 19:34Go channels
- 25:56Go testing intro
- 26:38Writing unit tests
- 30:39Testing edge cases
- 33:53Go tooling
- 35:17Learning resources
- 36:43Q&A
related talks
37mHow I made a powerful cache system using Go
37mHow I made a powerful cache system using Go
40mBuilding a Highly Concurrent Cache in Go: A Hitchhiker's Guide
46mSimplifying Scalable Cloud Application Development with Go
25mBuild and Test Caching in Go
01h 06mgolang rocks!
34mAdvanced Testing Techniques in Go
15mPremiere
