Advanced

Level: Advanced | 15 Labs | Docker: golang:1.22-alpine

Master production-grade Go engineering: memory model, profiling, reflection, generics, distributed patterns, gRPC, Redis, TLS, WebAssembly, and a full capstone microservice.


Lab Index

#
Lab
Topics
Time

01

happens-before, stack vs heap, go build -gcflags="-m", sync/atomic, CAS, lock-free stack

45 min

02

CPU/heap/goroutine profiles, net/http/pprof, go tool pprof, benchmark + cpuprofile

45 min

03

reflect.TypeOf/ValueOf, struct tags, MethodByName, MakeFunc, unsafe.Pointer, zero-copy []byte↔string

45 min

04

sync.Pool, bytes.Buffer pooling, -benchmem, allocs/op, arena allocator concept

45 min

05

proto3, protoc-gen-go, unary + streaming RPC, interceptors, metadata, status codes

45 min

06

Circuit breaker (gobreaker), retry + jitter, token bucket (x/time/rate), bulkhead, health checks

45 min

07

Writer/Reader, consumer groups, key-based routing, at-least-once, EOS concept

45 min

08

String/Hash/ZSet/Pipeline/TxPipeline/Pub-Sub/Streams, live Redis verified

45 min

09

Ports & adapters, domain layer, slog, health/ready endpoints, graceful shutdown

45 min

10

Union constraints, ~T, Stack/Queue/Set/OrderedMap, Map/Filter/Reduce/GroupBy, cmp.Ordered

45 min

11

GOOS=js GOARCH=wasm, syscall/js DOM, JS↔Go calls, 2.1MB binary verified

45 min

12

-buildmode=plugin, plugin.Open/Lookup, interface contracts, hashicorp/go-plugin RPC

45 min

13

ECDSA keygen, self-signed certs, mTLS, AES-256-GCM, HMAC-SHA256, bcrypt

45 min

14

GOGC, GOMEMLIMIT, GOMAXPROCS, goroutine stacks, net.Buffers, TCP_NODELAY, -benchmem

45 min

15

SQLite (modernc), Redis cache, circuit breaker, slog, graceful shutdown, table tests

45 min


Prerequisites

  • Go 1.22+

  • Docker (for isolated environments)

  • Familiarity with Go goroutines, channels, and interfaces

Quick Start

Learning Path

Key Libraries Used

Library
Version
Purpose

github.com/sony/gobreaker

v0.5.0

Circuit breaker

golang.org/x/time/rate

v0.9.0

Token bucket rate limiter

github.com/redis/go-redis/v9

v9.x

Redis client

github.com/segmentio/kafka-go

v0.4.47

Kafka producer/consumer

google.golang.org/grpc

v1.62.0

gRPC framework

modernc.org/sqlite

v1.33.1

Pure Go SQLite (no CGO)

log/slog

stdlib Go 1.21

Structured logging


Docker-verified with golang:1.22-alpine. All output captured from real runs.

Last updated