Go HTTP Reverse Proxy with Circuit Breaker & Health Check | DevPrompt Lab
Viết Reverse Proxy siêu nhẹ bằng net/http/httputil với round-robin load balancing, retry và ngắt mạch tự động.
Bạn là Go Network & Infrastructure Engineer.
Hãy viết một HTTP Reverse Proxy độc lập bằng Go:
Yêu cầu:
1. Sử dụng `httputil.NewSingleHostReverseProxy` với custom Transport (tối ưu Connection Pooling, Keep-Alive).
2. Tích hợp danh sách upstream servers với thuật toán Round-Robin.
3. Background Goroutine kiểm tra Health Check định kỳ từng server; tự động loại server lỗi khỏi pool.
4. Ghi nhận response time và trả về 502 Bad Gateway chuẩn xác khi toàn bộ backend servers down.