데이터 엔지니어링/클라우드

[클라우드] Service Discovery

pythaac 2022. 5. 10. 16:31

정의

  • 서비스 클라이언트가 서비스 호출을 위해 IP주소, Port를 알아내는 기능
  • 사용 이유
    - MSA에서 분산된 서비스간의 원격 호출과 클라우드 환경에서 오토 스케일링 등의 동적 환경으로 서비스의 IP 변동이 잦아짐
  • 동작 (Client side discovery)
    • 서비스 인스턴스 생성시 주소를 Service Registry에 등록
    • 해당 서비스 호출시 클라이언트는 Service Registry에 주소를 물어보고 호출

 

Client side discovery vs Server side discovery

  • Client side discovery
    • 클라이언트가 Service Registry에서 서비스 위치를 찾아 호출하는 방식

https://bcho.tistory.com/1252

  • Server side discovery
    • proxy(LB)가 호출을 받고 LB에서 Service Registry에 주소를 받아 호출하는 방식

https://bcho.tistory.com/1252

 

Service Registry

  • 구현
    • Zookeeper나 etcd같은 서비스 사용
    • Netfilx의 Eureka, Hashcorp의 Consul같은 서비스 사용

 

 

 

https://bcho.tistory.com/1252

 

MSA에서 Service discovery 패턴

MSA에서 Service discovery 패턴의 이해 조대협 (http://bcho.tistory.com) MSA와 같은 분산 환경은 서비스 간의 원격 호출로 구성이 된다. 원격 서비스 호출은 IP 주소와 포트를 이용하는 방식이 되는다. 클라

bcho.tistory.com