작성
·
247
1
답변 1
0
안녕하세요 이도원입니다.
작성하신 apigateway-service의 application.yml 파일의 내용을 정확하게 몰라 답변드리는 데에 한계가 있지만, 말씀하신 내용으로 짐작해 보면, applicatin.yml 파일에는 Eureka에 등록된 서비스의 이름으로 라우팅 하고 있을 것 같습니다. 만약 그렇다면, 해당 서비스명을인식하기 위해 Eureka로부터 해당 정보를 가지고 온 상태에서 라우팅을 할 수 있습니다. Eureka client에 해당하는 apigateway-service는 주기적으로 Eureka server로부터 등록된 서비스들의 정보를 가지고 받아오고 있으며, 해당 정보를 토대로 다른 서비스로 호출이 가능합니다. 새롭게 등록되거나, 해제 된 서비스들의 내용은 주기적으로 받아오는 정보를 통해 갱신하게 됩니다. 물론 Eureka를 사용하지 않고도 직접 URL을 입력하여 라우팅 할 수 있으며, 이때에는 말씀하신 2번째 질문처럼 Eureka의 사용 용도가 없어지게 됩니다. 그러나, 이렇게 서비스 할 경우, LB 사용이 안되어, 같은 서비스를 여러개 띄워 사용할 경우에는 분산처리가 되지 않습니다.
Eureka는 많은 서비스들의 정보를 가지고 있으면서, 서비스들간에 통신을 하기위해 처리되며, 해당 서비스들이 모든 각각의 서비스 IP를 알고 있다고 가정하면, 사용하지 않고 처리할 수도 있겠지만, 이후에 사용하게 되는 컨테이너 가상화같은 부분에서는 모든 IP를 직접 제어해서 사용하는 것이 어렵기 때문에, 가급적이면 사용하는게 좋다고 생각됩니다.
감사합니다.