Webclient io.netty.resolver.dns.DnsNameResolverTimeoutException 원인Webclient를 사용 하면서 DnsNameResolverTimeoutException이 발생했다. 내부망에서 내부 서버 통신 시 외부 도메인 사용으로 인해서 시간이 오래 걸려 발생한 문제이다. 해결방법1. 직접 내부 IP 를 통해 직접 접속2. 내부 DNS 통해서 접속방법 에러 Timeout 5,000ms가 발생했다. 설정한게 없는데 왜 5초나 걸렸지 보니 기본 Timeout 설정이 5초 였다. UnixResolverOptions classpackage io.netty.resolver.dns;final class UnixResolverOptions { ... static final class Builder { private int ndots; private .. 2025. 6. 24. Spring WebFlux 와 Netty 현업 프로젝트에서는 R2DBC, WebFlux 기술 스택으로 새롭게 개발이 진행 됐습니다.WebFlux에 대해서 알아 보려구 합니다. 기존 프로젝트는 Spring MVC + JDBC 조합은 Blocking 방식이고, 이와 다르게 이번에는WebFlux + R2DBC 조합으로 Non-Blocking 방식으로 진행하게 되었습니다. WebFlux(Non-Blocking) + JDBC(Blocking) 조합은 권장하지 않습니다. WebFlux의 Non-Blocking 장점 이 사라집니다.그리고 WebFlux는 적은수의 스레드로 많은 요청을 처리하게 되어 있는데, JDBC를 사용하면 DB 호출 마다 스레드가 Blocking 되어 리소스가 빠르게 고갈 됩니다.이렇게 되면 WebFlux가 빠르더라도 JDBC가 병목이 .. 2025. 5. 12. 2024년 회고 2024년에는 회사에서 백엔드 2년째 이고 업무적, 기술적으로 많은 경험을 했네요.인프라적으로는 쿠버네티스를 사용해서 애플리케이션을 배포하고 각종 설정 들을 보면서 공부했습니다. 볼게 너무 많다보니 잘못하면 오버스텍이 되겠다는 생각도 하고, 신중하게 도입해야 겠다라는 생각이 들었습니다. 메시징 시스템이번년에는 Kafka 와 RabbitMQ 를 사용해보면서 개발하면서 운영및 오류 상황에 대해선 어떤 보완점을 찾아나가야 되는지 알아갔고장단점에 대해서 어떤 환경에서 사용해야 하는지 배웠습니다. ( 주문처리 시스템에 활용.)Kafka : 대용량 처리 안정적인 메시지 처리RabbitMQ : 라우팅 해서 해당하는 목적지까지 정확히 메시지 이동 처리.코드와 테스트테스트 코드를 작성하는것은 항상 고민하게 되는 문제입.. 2025. 1. 30. Spring AOP 내부 호출 작동 문제 AOP를 사용하다 보면 같은 클래스에서 AOP 어노테이션 설정된 메소드를 호출하면, 해당하는 AOP 가 작동하지 않는다.@Autowired로 자기 자신 객체를 생성해 프록시 객체를 주입받으면 해결 되는 문제이다.설계상의 응집도 문제로 좋은 설계 방법은 아니다.이러한 문제가 왜 발생하는지 알아보자. Spring AOP(Aspect Oriented Programming) 란?관점 지향 프록그래밍, 프록시 기반(Proxy-based) 구조를 사용합니다.로깅, 트랜잭션 관리 (@Transactional), 인증, 인가 등 해당 지점에서 실행됐을때, 자동으로 다른 로직도 실행 하기 위해 사용됩니다.@Servicepublic class UserService { @Transactional public vo.. 2024. 12. 11. 이전 1 2 3 다음