inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

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

Spring Cloud Gateway + Eureka 연동

apigateway-service 에러 관련

해결된 질문

919

park

작성한 질문수 12

1

안녕하세요 선생님, 수업 감사히 잘 듣고 있습니다.

한가지 여쭤보고 싶은게 있습니다

선생님께서 실습하신 것처럼 결과가 잘 나오는데, 두 번 정도까지는 괜찮다가 포스트맨으로 요청을 다시 보내면 아래처럼 오류가 뜹니다.

이런 오류 이후에는 다시 한 두번 정도는 정상적으로 동작하다가 동일한 오류가 납니다.

apigateway-service를 확인하니 다음과 같은 에러 내용을 확인하였습니다.

io.netty.channel.AbstractChannel$AnnotatedConnectException: Connection refused: no further information: localhost/127.0.0.1:56873
Suppressed: reactor.core.publisher.FluxOnAssembly$OnAssemblyException:
Error has been observed at the following site(s):
|_ checkpoint org.springframework.cloud.gateway.filter.WeightCalculatorWebFilter [DefaultWebFilterChain]
|_ checkpoint HTTP GET "/first-service/check" [ExceptionHandlingWebHandler]
Stack trace:
Caused by: java.net.ConnectException: Connection refused: no further information
at java.base/sun.nio.ch.SocketChannelImpl.checkConnect(Native Method) ~[na:na]
at java.base/sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:779) ~[na:na]
at io.netty.channel.socket.nio.NioSocketChannel.doFinishConnect(NioSocketChannel.java:330) ~[netty-transport-4.1.60.Final.jar:4.1.60.Final]
at io.netty.channel.nio.AbstractNioChannel$AbstractNioUnsafe.finishConnect(AbstractNioChannel.java:334) ~[netty-transport-4.1.60.Final.jar:4.1.60.Final]
at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:707) ~[netty-transport-4.1.60.Final.jar:4.1.60.Final]
at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655) ~[netty-transport-4.1.60.Final.jar:4.1.60.Final]
at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581) ~[netty-transport-4.1.60.Final.jar:4.1.60.Final]
at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) ~[netty-transport-4.1.60.Final.jar:4.1.60.Final]
at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) ~[netty-common-4.1.60.Final.jar:4.1.60.Final]
at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) ~[netty-common-4.1.60.Final.jar:4.1.60.Final]
at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) ~[netty-common-4.1.60.Final.jar:4.1.60.Final]
at java.base/java.lang.Thread.run(Thread.java:834) ~[na:na]

너무 잦은 요청으로 인한 오류일까요? 그러기엔 적당한 텀을 두고도 요청을 했는데 이 정도 요청을 정상 처리 못해준다는게 의문스럽습니다.

spring-boot JPA spring-cloud architecture Kafka msa

답변 2

6

강준

저도 동일한 오류가 나왔었는데요. 혹시 유레카 클라이언트를 여러개 띄웠다가 종료시키는 과정이 있으셨으면 일시적 (30초~90초) 으로 올려주신 증상이 나타났습니다.

유레카 서버에서는 자체적으로 클라이언트의 정보를 30초 주기로 캐시 업데이트를 한다고 합니다.

유레카 클라이언트에 heart beat를 90초 동안 받지못하였을 경우 클라이언트 등록 해제를 한다고하니 최소 30초에서 90초동안 발생할 수 있습니다.

실제로 클라이언트를 두 개 띄운 상태에서 한 개의 클라이언트 서비스를 중지시키니 30~40초정도 오류를 내다가(두 번 요청하면 한 번만 성공) 그 이후에는 죽지않은 한개의 클라이언트가 정상적으로 모든 요청을 처리하더라구요.

이 사이에 api gateway 를 재실행시키면 모두 잘 처리됩니다. 아마 재실행 과정에서 캐시 업데이트가 일어나는듯합니다.

0

park

제가 몰랐던 점이네요! 알려주셔서 감사합니다.

0

wody Rang

와 정말이네요. 저도 계속 netty오류나서 내렸다 올렸다 내렸다 올렸다 하면서 찾아보고 있었는데 ... 그냥 가만히 놔두고 잠시 뒤 다시 시도하니 성공했습니다. !!

1

Dowon Lee

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

보내주신 캡쳐 화면만으로는 정확한 원인을 파악하기가 어려울 거 같습니다. 

spring cloud gateway로 요청을 많이 보냈기 때문에, 특정한 요청에 대해서 forwarding이 생기는 경우도 전혀 없는 것은 아니라고 생각됩니다만, 일반적이 수준에서의 요청이라고 하면 전달되지 못하는 경우는 드문 경우인거 같습니다. 네트워크의 상태나 서버를 실행하고 있는 시스템의 리소스 등의 상태, 타임아웃 등 일반적인 시스템의 문제일 확률이 더 높지 않을까 싶습니다. 

감사합니다.

0

park

답변 감사드립니다!

kafka 업데이트 강의 듣고 시포요

0

79

1

강의 교안

0

64

1

마이크로서비스간 통신 시, 인증 처리

0

73

1

api gateway 에서 인증 처리

0

61

1

섹션 19 질문드립니다

0

48

1

강의 자료 업데이트

0

79

1

부하분산 강의 섹션

0

53

1

강의자료는 어디에서?

0

66

1

강의 자료는 어디서 다운 받을 수 있나요?

0

107

1

전체 사용자 조회시 오류

0

54

1

혹시 pk 외 별도의 id 를 부여한 이유가 있을까요 ??

0

106

2

학습 방향

0

92

2

카프카 커넥터 사용 목적 문의

0

83

2

kafka 강의

0

102

2

서비스 디스커버리 종류

0

84

2

강의 자료에 대해서 궁금해요

0

109

2

GlobalFilter, LoggingFilter가 동작하지 않습니다.

0

85

2

Kafka Source Connect 버전 에러

0

80

2

소스커넥터는 사용안한 거 맞죠?

0

78

2

강의자료 업데이트 문의

0

92

2

강의에서 BCryptPasswordEncoder 에 역할(5-2)

0

53

1

강의 업데이트 계획이 궁금합니다.

0

106

2

MSA 애플리케이션에 Spring Web과 Spring Data JPA를 사용하는 것이 바람직한지 궁금합니다. (MSA 설계와 관련된 질문입니다)

0

157

2

어떤 것이 업데이트 된 건가요?

0

157

2