Completed
Wolfram Alpha Tells Me: 4MB X 10 = 40MB
Class Central Classrooms beta
YouTube playlists curated by Class Central.
Classroom Contents
Uptime - Building Resilient Services with Go
Automatically move to the next video in the Classroom when playback concludes
- 1 Intro
- 2 2014 Google I/O: What's Go?
- 3 Kiln's SSH Reverse Proxy
- 4 Why Rewrite?
- 5 Tons of Concurrency 1. Accepts SSH connection (1 goroutine) 2. Authenticates via public/private key 3. Connects to backend server 4. Proxies STDIN, STDOUT, and STDERR (3 goroutines)
- 6 Resiliency: The Process
- 7 Careful Coding: Error Handling & Clean-up
- 8 Not Necessarily.
- 9 Careful Coding: Channels
- 10 Careful Coding: Panics!
- 11 Careful Coding: Avoid Race Conditions!
- 12 goroutines Should be used in unit tests, development, and testing environments
- 13 Careful Coding: Implement Timeouts
- 14 Network Timeouts: • network dial timeout • network connection inactivity timeout • total connection timeout
- 15 Know Your Service: How Does It Use Memory?
- 16 How much memory per connection? • Does the system reclaim memory that's no longer used? • What's the garbage collector doing? CODEBUG=gctrace=1 • Where is memory allocated? (PPROF)
- 17 Know Your Service: PPROF
- 18 Don't leak goroutines!
- 19 PPROF: From the Command Line
- 20 Know Your Service: Watch It Run
- 21 Keep Good Logs! • Create a semi-unique string per request • Use this request string as a prefix in all log entries • Always log at least the start and end of a request
- 22 Drain and Die
- 23 Game Day.
- 24 Wolfram Alpha Tells Me: 4MB X 10 = 40MB
- 25 Prod Profiling Told Me: This memory will be reclaimed