서비스 디스커버리란? MSA는 여러 개의 마이크로서비스로 이루어져있습니다. 마이크로서비스를 호출하기 위해서는 사용하고자하는 해당 서비스의 인스턴스 IP주소와 Port를 알아야하며 서비스의 최적 경로를 찾아주는 라우팅 기능과 적절한 부하 분산을 위한 로드 밸런싱 기능이 필요합니다. 클라우드 환경에서는 오토 스케일링을 통해 서비스 인스턴스가 동적으로 생성되고 사라지기 때문에 서비스의 IP가 유동적으로 변하게 됩니다. 그렇다보니 클라이언트는 변경사항이 생길 때마다 매번 수십 수백개의 서비스 인스턴스의 유동 IP 정보를 전송받아 갱신해야되는 번거로움이 존재합니다. 차라리 제 3의 공간에서 서비스의 명칭과 유동적인 IP 정보를 매핑해서 관리해주고 클라이언트는 이를 이용하는 것이 좋지 않을까에서 나온 것이 바로 서..
Service Discovery Pattern
서비스 디스커버리란? MSA는 여러 개의 마이크로서비스로 이루어져있습니다. 마이크로서비스를 호출하기 위해서는 사용하고자하는 해당 서비스의 인스턴스 IP주소와 Port를 알아야하며 서비스의 최적 경로를 찾아주는 라우팅 기능과 적절한 부하 분산을 위한 로드 밸런싱 기능이 필요합니다. 클라우드 환경에서는 오토 스케일링을 통해 서비스 인스턴스가 동적으로 생성되고 사라지기 때문에 서비스의 IP가 유동적으로 변하게 됩니다. 그렇다보니 클라이언트는 변경사항이 생길 때마다 매번 수십 수백개의 서비스 인스턴스의 유동 IP 정보를 전송받아 갱신해야되는 번거로움이 존재합니다. 차라리 제 3의 공간에서 서비스의 명칭과 유동적인 IP 정보를 매핑해서 관리해주고 클라이언트는 이를 이용하는 것이 좋지 않을까에서 나온 것이 바로 서..
2022.10.24