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>