TIL

istio란?

하얀잔디 2025. 5. 29. 20:11

서비스를 배포하면서 들어본 용어다. 정말 '쉽게' 정리해보려고 한다.

 

 

Istio는 마이크로서비스끼리 서로 잘 통신하게 도와주는 '트래픽 매니저' 임.

 

예를들어보면,

 

음식점(서비스)들이 모여 있는 음식 코너(MSA 환경)가 있음.

  • 한 음식점 = 하나의 마이크로서비스
  • 손님은 A 음식점에서 밥을 시킴 → A는 B에게 국을 주문하고 → B는 C에게 반찬을 주문해요
  • 근데 음식이 늦게 오거나, 엉뚱한 데서 오거나, 안 오거나 하면 문제겠지?

 

과거에는?

  • 각 음식점(서비스)에서 직접 배달, 주문, 실패 처리, 재시도 등 모든 걸 직접 구현해야 했음!
  • 음식점 코드마다 try-catch, timeout, retry 같은 코드가 넘쳐나고 버그도 많았음.

 

 

 

이제 Istio를 쓰면?

Istio는 각 음식점에 ‘전문 배달 직원’(= Envoy Proxy) 을 붙여줌!!
모든 음식 주문은 배달 직원(프록시) 이 대신 처리함.

역할                                          설명

 

음식점 서비스 A, B, C
손님 클라이언트
배달 직원 Envoy Proxy (Istio가 자동으로 붙여줌)
배달본부 Istio Control Plane (설정 관리)

 

 

 

[Service A]
   ↕
[Envoy A]   ← A가 실제로 통신하는 대상
   ↔         ←   Istio가 이 부분을 통제함!  ( 배달 직원)
[Envoy B]
   ↕
[Service B]

 

 

 

  • A가 B로 보내는 요청은 모두 Envoy → Envoy → B 순서로 감
  • A와 B 코드는 수정 안 해도 됨!

 

 

 

  • 설정 한 줄로 timeout, retry, fallback
  • 로그, trace 자동 수집
  • TLS 자동 적용
  • 코드 수정 거의 없음

을 해주는 것!!

 

'TIL' 카테고리의 다른 글

DB 차이점 정리  (0) 2025.06.29
소켓에서 레디스를 왜 쓸까?  (0) 2025.06.29
Kafka 동시에 같은 이벤트 들어오는 경우  (0) 2025.05.25
Spring 트랜잭션 RollbackFor  (0) 2025.05.22
Spring 트랜잭션 전파 레벨  (0) 2025.05.22