L44 — Routing Frameworks (chi, gin, echo, fiber)
Ba module tương tác để chọn framework HTTP Go có cơ sở, không theo đám đông:
1) framework picker — cho scenario thật, gợi ý framework phù hợp;
2) middleware chain visualizer — request đi qua các lớp middleware như thế nào;
3) performance bar chart — so sánh route lookup giữa net/http, chi, gin, echo, fiber, và đặt vào bối cảnh thực tế (DB query).
1. Framework picker theo scenario
Click một scenario bên dưới — viz sẽ gợi ý framework phù hợp nhất kèm lý do, và liệt kê các alternative chấp nhận được. Quy tắc chọn: ưu tiên dev speed + ecosystem fit hơn là benchmark.
2. Middleware chain visualizer
Request đi từ ngoài cùng (Logger) vào trong (Handler), rồi quay ngược ra. Mỗi lớp middleware có thể: (a) chặn (auth fail → 401), (b) đo (logger ghi duration), (c) recover (panic → 500). Bấm ▶ Run request để thấy animation từng bước.
r := chi.NewRouter() // Outer-most → innermost r.Use(middleware.Logger) r.Use(middleware.Recoverer) r.Use(rateLimitMW(100)) r.Use(authMW) r.Get("/users/{id}", getUser)
3. Route lookup performance
Benchmark route lookup khi không có DB hay business logic. Toggle "Trong context thật" để thấy chi/gin/echo/fiber khác nhau bao nhiêu khi xếp cạnh 1 DB query 15ms.