Do Something

[Spring Cloud Gateway][macOS] MacOSDnsServer 로드 불가 문제 본문

Spring

[Spring Cloud Gateway][macOS] MacOSDnsServer 로드 불가 문제

뭐라도해야겠다 2023. 6. 25. 22:35

Spring Cloud Gateway를 이용해서 라우팅을 하는데 실행은 정상적으로 되지만 이상한 오류가 뜨는걸 확인했다. 

ERROR 67861 --- [ctor-http-nio-2] i.n.r.d.DnsServerAddressStreamProviders  : Unable to load io.netty.resolver.dns.macos.MacOSDnsServerAddressStreamProvider, fallback to system defaults. This may result in incorrect DNS resolutions on MacOS. Check whether you have a dependency on 'io.netty:netty-resolver-dns-native-macos'. Use DEBUG level to see the full stack: java.lang.UnsatisfiedLinkError: failed to load the required native library

이라는 굉장히 긴 문구이다. 

 

스프링 클라우드 게이트웨이는 자체적으로 비동기 처리를 위해서 netty를 사용하는걸로 알고 있는데 뭐 여기서 문제가 낫나 보다. 

 

문제를 보니까 This my result in incorrect DNS resolutions on MacOS 이라고 한다

찾아보니까 m1맥에서 지원을 안해서 이부분에서 뭔가 안되는듯하다

 

 

Unable to load io.netty.resolver.dns.macos.MacOSDnsServerAddressStreamProvider · Issue #11020 · netty/netty

Expected behavior Spring Cloud Gateway microservice (api-gateway) should route to appropriate microservice (web) using Eureka Discovery Server microservice (discovery) and return "Hello World". Act...

github.com

이곳에서 해결책을 찾을 수 있었다. 

 

netty-resolver-dns-native-macos / 4.1.68.Final 이상 / classifier을 "osx-aarch_64"

로 하니까 해결이 되었다. 

 

<dependency>
    <groupId>io.netty</groupId>
    <artifactId>netty-resolver-dns-native-macos</artifactId>
    <version>4.1.77.Final</version>
    <classifier>osx-aarch_64</classifier>
</dependency>