작성
·
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
안녕하세요, 이도원입니다.
보내주신 에러이미지로는 원인을 정확하게 판단할 수 없어, 찾아보실 수 있는 부분을 말씀드립니다.
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 실행 명령어를 다시한번 보내 주시기 바랍니다.
감사합니다.