Service Mesh là tầng hạ tầng lo phần giao tiếp giữa các service trong kiến trúc microservice, thường hiện thực bằng sidecar proxy — mỗi pod của service có thêm một container proxy đi kèm.
Nó cung cấp sẵn: mTLS để mã hoá liên lạc giữa các service, load balancing, circuit breaking, retry, timeout, distributed tracing và thu thập metrics — tất cả mà không phải sửa code ứng dụng.
Vấn đề nó giải: khi đã có vài chục microservice, nhét mấy phần việc networking vào từng service bằng thư viện là cực khó bảo trì, tốn công và rất dễ mỗi nơi một kiểu. Service Mesh kéo hết những thứ đó xuống tầng hạ tầng.
Istio (dùng sidecar Envoy) và Linkerd là hai lựa chọn phổ biến nhất.
Đánh đổi: độ phức tạp vận hành rất cao. Istio đặc biệt nặng và learning curve dốc, chỉ hợp khi có hẳn một team platform engineering. Nhiều tổ chức vì thế chọn phương án nhẹ hơn như Consul Connect hoặc AWS App Mesh.