인프런 커뮤니티 질문&답변

mincoln419님의 프로필 이미지
mincoln419

작성한 질문수

Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)

User Microservice

설정대로 올렸는데 api-gateway가 ocalhost로 붙으려고해요;

작성

·

1K

0

안녕하세요. 수업 잘 듣고 있습니다.

local test에서는 잘 되던 게 여기서 막히네요;

혹시 어떤 설정때문에 docker에서 설정한 uri로 안넘어가는 걸까요?

 

오류 로그는 아래에 남기겠습니다

2022-05-08 23:44:26.208  INFO 1 --- [or-http-epoll-1] c.m.s.filter.GlobalFilter                : Global filter baseMessage: Spring Cloud Gateway Global Filter

2022-05-08 23:44:26.208  INFO 1 --- [or-http-epoll-1] c.m.s.filter.GlobalFilter                : Global Filter Start: request id -> 983024ba-8

2022-05-08 23:44:26.213 ERROR 1 --- [or-http-epoll-1] a.w.r.e.AbstractErrorWebExceptionHandler : [983024ba-8]  500 Server Error for HTTP POST "/user-service/users"

io.netty.channel.AbstractChannel$AnnotatedConnectException: finishConnect(..) failed: Connection refused: localhost/127.0.0.1:38991

Suppressed: reactor.core.publisher.FluxOnAssembly$OnAssemblyException: 

Error has been observed at the following site(s):

*__checkpoint ⇢ org.springframework.boot.actuate.web.trace.reactive.HttpTraceWebFilter [DefaultWebFilterChain]

*__checkpoint ⇢ org.springframework.cloud.gateway.filter.WeightCalculatorWebFilter [DefaultWebFilterChain]

*__checkpoint ⇢ org.springframework.boot.actuate.metrics.web.reactive.server.MetricsWebFilter [DefaultWebFilterChain]

*__checkpoint ⇢ HTTP POST "/user-service/users" [ExceptionHandlingWebHandler]

Original Stack Trace:

Caused by: java.net.ConnectException: finishConnect(..) failed: Connection refused

at io.netty.channel.unix.Errors.newConnectException0(Errors.java:155) ~[netty-transport-native-unix-common-4.1.73.Final.jar!/:4.1.73.Final]

at io.netty.channel.unix.Errors.handleConnectErrno(Errors.java:128) ~[netty-transport-native-unix-common-4.1.73.Final.jar!/:4.1.73.Final]

at io.netty.channel.unix.Socket.finishConnect(Socket.java:320) ~[netty-transport-native-unix-common-4.1.73.Final.jar!/:4.1.73.Final]

at io.netty.channel.epoll.AbstractEpollChannel$AbstractEpollUnsafe.doFinishConnect(AbstractEpollChannel.java:710) ~[netty-transport-classes-epoll-4.1.73.Final.jar!/:4.1.73.Final]

at io.netty.channel.epoll.AbstractEpollChannel$AbstractEpollUnsafe.finishConnect(AbstractEpollChannel.java:687) ~[netty-transport-classes-epoll-4.1.73.Final.jar!/:4.1.73.Final]

at io.netty.channel.epoll.AbstractEpollChannel$AbstractEpollUnsafe.epollOutReady(AbstractEpollChannel.java:567) ~[netty-transport-classes-epoll-4.1.73.Final.jar!/:4.1.73.Final]

at io.netty.channel.epoll.EpollEventLoop.processReady(EpollEventLoop.java:470) ~[netty-transport-classes-epoll-4.1.73.Final.jar!/:4.1.73.Final]

at io.netty.channel.epoll.EpollEventLoop.run(EpollEventLoop.java:378) ~[netty-transport-classes-epoll-4.1.73.Final.jar!/:4.1.73.Final]

at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:986) ~[netty-common-4.1.73.Final.jar!/:4.1.73.Final]

at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) ~[netty-common-4.1.73.Final.jar!/:4.1.73.Final]

at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) ~[netty-common-4.1.73.Final.jar!/:4.1.73.Final]

at java.base/java.lang.Thread.run(Thread.java:833) ~[na:na]

답변 1

0

Dowon Lee님의 프로필 이미지
Dowon Lee
지식공유자

안녕하세요, 이도원입니다. 

보내주신 에러이미지로는 원인을 정확하게 판단할 수 없어, 찾아보실 수 있는 부분을 말씀드립니다. 

1. Eureka 설명 및 Dashboard에서 apigateway-service 및 user-service가 등록되었는지 확인

2. apigateway, user-service의 application.yml 설정 파일의 내용이 docker 기동 시 설정했던 환경변수 값으로 잘 등록되었는지 확인 

3. apigateway의 application.yml의 라우팅 설정 부분(또는 자바파일에서의 라우팅 설정 부분)에서 user-service로 매핑이 되었는지 확인 

대체로, docker에서의 통신 상의 문제는 docker 컨테이너 기동 시 설정 변수의 값이 잘 지정되지 않는 경우가 많습니다.  다음 docker-compose 파일로 실행을 참고해서 실행해 보실수도 있습니다. 

https://github.com/joneconsulting/msa_with_spring_cloud/blob/main/docker-files/docker-compose.yml

작업 확인 후, 계속 문제가 지속되시면, 위 1번,2번,3번 항목에 말씀드렸던 서비스들의 application.yml 파일과 각 서비스의 docker 실행 명령어를 다시한번 보내 주시기 바랍니다. 

감사합니다. 

mincoln419님의 프로필 이미지
mincoln419

작성한 질문수

질문하기