Service Mesh — mTLS, Traffic Management, và Observability Không Cần Sửa Code
Service mesh giải quyết một vấn đề thực tế: bạn có 30 services, và mỗi service đều phải tự implement retry logic, timeout, circuit breaker, mutual TLS, và distributed tracing. Thay vì duplicate logic này 30 lần, mesh inject một sidecar proxy (Envoy) vào mỗi pod — proxy đó handle tất cả network concerns, còn application chỉ cần focus vào business logic.
Bài này đi vào sidecar model và tại sao nó work, control plane vs data plane (Istio, Linkerd — trade-offs về complexity), những gì mesh mang lại (mTLS everywhere không cần certificate management trong app code, traffic management qua VirtualService/DestinationRule, canary routing không cần code change), và — quan trọng không kém — khi nào bạn không cần mesh: overhead của nó (latency thêm, CPU thêm, ops complexity cao) không phải lúc nào cũng justify với số lượng service nhỏ.
Sẽ sớm cập nhật.