คืออะไร Service Mesh
ชั้นโครงสร้างพื้นฐานสำหรับการสื่อสารระหว่างบริการ
Service Mesh
Service Mesh เป็นชั้นโครงสร้างพื้นฐานเฉพาะสำหรับจัดการการสื่อสารระหว่าง microservices ให้ observability, ความปลอดภัย และความน่าเชื่อถือโดยไม่ต้องเปลี่ยนโค้ดแอปพลิเคชัน
สถาปัตยกรรม
| ส่วนประกอบ | บทบาท | ตัวอย่าง | |------------|-------|----------| | Data Plane | Sidecar proxy ข้าง service แต่ละตัว | Envoy, Linkerd-proxy | | Control Plane | จัดการ configuration และ policies | Istiod, Linkerd control plane |
คุณสมบัติหลัก
- Traffic Management — load balancing, canary, circuit breaker
- ความปลอดภัย — mTLS, authorization, encryption
- Observability — metrics, tracing, logs
- Policies — rate limiting, retry, timeout
โซลูชันยอดนิยม
| โซลูชัน | คุณสมบัติ | |---------|-----------| | Istio | ครบถ้วน, ซับซ้อน | | Linkerd | เบา, ใช้งานง่าย | | Consul Connect | รวมกับ HashiCorp ecosystem | | Cilium | ใช้ eBPF, ประสิทธิภาพสูง |
เมื่อไหร่ต้องการ Service Mesh
- Microservices จำนวนมาก (50+)
- ต้องการ mTLS ระหว่าง services
- ต้องการ observability ละเอียด
- กฎ routing ซับซ้อน
- ข้อกำหนด compliance (PCI DSS, SOC 2)
เมื่อไหร่ไม่จำเป็น
- แอปพลิเคชัน monolithic
- Services น้อย (< 10)
- สถาปัตยกรรมเรียบง่าย
- ไม่มี resource สำหรับบำรุงรักษา