Trung BìnhSystem Design iconSystem Design

Service Mesh là gì và tại sao nó cần thiết trong kiến trúc microservices? (What is a Service Mesh and why is it needed in microservices architecture?)

Service Mesh là infrastructure layer xử lý service-to-service communication trong microservices, thường được implement qua sidecar proxy pattern (mỗi service pod có một proxy container đi kèm).

  • Service Mesh cung cấp: mTLS (mutual TLS) cho encrypted communication giữa services, load balancing, circuit breaking, retry logic, timeout, distributed tracing, metrics collection – tất cả mà không cần sửa application code.
  • Vấn đề Service Mesh giải quyết: khi có hàng chục microservices, implement networking concerns trong mỗi service (bằng library) rất khó maintain, tốn công, dễ inconsistent.
  • Service Mesh chuyển những concerns này ra infrastructure layer.
  • Istio (với Envoy sidecar) và Linkerd là hai giải pháp phổ biến nhất.
  • Trade-off: operational complexity rất cao, Istio đặc biệt nặng và có learning curve lớn – chỉ phù hợp khi có đủ platform engineering team.
  • Nhiều tổ chức chọn giải pháp đơn giản hơn như Consul Connect hoặc AWS App Mesh.

Xem toàn bộ System Design cùng filter theo level & chủ đề con.

Mở danh sách System Design