본문 바로가기

인프라

API gateway와 LoadBalancer 뭐가 다른가??

728x90

 

둘 다 여러 서버 제일 앞에 위치하여 트래픽을 특정 서비스로 보내주니, 제대로 알기 전에는 비슷하다고 생각한 것 같다.

 

우선 둘에 대한 정의를 살펴보면

 

API gateway는 클라이언트의 요청을 적절한 내부 서비스로 라우팅하는 역할을 한다.

load balancer는 여러 서버 간의 트래픽을 균등하게 분산시켜 시스템의 안정성을 유지한다.

 

즉, Api Gateway는 클라이언트가 API를 요청하면 요청한 API가 위치한 서비스로 보내주는 것 요청을 보내고 이에 대한 답을 얻는 다.

근데 만약 해당 API가 여러 동일한 서버에 위치한다면? 한 서버를 scale out한 것이라면? 어느 곳으로 갈까?

api gateway는 round-robin으로 보낼 수도 있고, 원하는 곳으로 보낼 수 도 있다.

 

 

즉, API gateway와 Load Balancer는 비슷한 것 같지만 사실 중요시하는 관점이 다르다.

 

API gateway는 요청이 오면 이를 제대로 보내주는 것에 초점이 맞춰져 있다.

이 트래픽이 잘 분산되었는 지는 관심이 별로 없다.

하지만 Load Balancer의 경우에는 네트워크 트래픽이 잘 분산 되었는 가에 초점이 맞춰져 있다.

요청이 어디로 가는 지는 그리 관심없다.

728x90

'인프라' 카테고리의 다른 글

stateless v.s. stateful service  (0) 2024.07.07
Load Balancer L7이 L4보다 느린 이유  (0) 2024.06.23
DNS 레코드란?  (0) 2024.06.06
네임서버란?  (0) 2024.05.28
MySQL과 PostgreSQL의 차이점  (0) 2024.05.23