General Questions
What Go version is required?
Go 1.22 or later. Mizu uses Go 1.22’s enhancedServeMux patterns for route matching with path parameters.
Can I use Mizu with existing net/http code?
Yes! Mizu is built onnet/http and is fully compatible:
How does Mizu compare to Gin/Echo/Fiber?
| Feature | Gin | Echo | Fiber | Mizu |
|---|---|---|---|---|
| net/http based | Yes | Yes | No (fasthttp) | Yes |
| Go 1.22 patterns | Partial | Partial | No | Yes |
| Contract system | No | No | No | Yes |
| SDK generation | No | No | No | Yes |
| Frontend integration | No | No | No | Yes |
| Middleware count | ~20 | ~20 | ~30 | 70+ |
Is Mizu production-ready?
Yes. Mizu is designed for production use with:- Graceful shutdown
- Panic recovery
- Health check endpoints
- Structured logging
- Battle-tested middleware
Performance Questions
Is Mizu fast?
Mizu is fast enough for most applications. Benchmarks show:- ~100k requests/second for simple JSON responses
- ~1μs overhead per request vs raw
net/http - Minimal allocations using Ctx pooling
What about memory usage?
Mizu has low memory overhead:- ~5MB base memory for empty app
- ~1KB per active connection
- Ctx objects are pooled and reused
How does Mizu handle concurrency?
Each request runs in its own goroutine (standard Go behavior). Mizu doesn’t add locks in the hot path:Feature Questions
Does Mizu support WebSockets?
Yes, via the websocket middleware:Does Mizu have database integration?
Mizu doesn’t include an ORM — use any Go database library:- database/sql - Standard library
- sqlx - Enhanced SQL
- GORM - Full ORM
- Ent - Graph-based ORM
- sqlc - SQL to Go code
What authentication options are available?
Multiple authentication middlewares:| Method | Middleware |
|---|---|
| Basic Auth | middlewares/basicauth |
| Bearer Token | middlewares/bearerauth |
| API Keys | middlewares/keyauth |
| JWT | middlewares/jwt |
| OAuth 2.0 | middlewares/oauth2 |
| OpenID Connect | middlewares/oidc |
Can I use GraphQL with Mizu?
Yes, mount a GraphQL handler:Development Questions
Is there hot reload?
Yes, usemizu dev:
air:
How do I test handlers?
Usehttptest:
How do I debug requests?
Enable debug logging:Deployment Questions
How do I deploy with Docker?
What cloud platforms are supported?
Any platform that runs Go binaries:- AWS: EC2, ECS, Lambda (with adapter)
- Google Cloud: Cloud Run, GKE, Compute Engine
- Azure: Container Apps, AKS
- Others: DigitalOcean, Fly.io, Railway, Render