목록WebClient (2)
준호씨의 블로그
오류를 디버깅을 하면서 kibana에 기록된 ingress로그에서 Http Status가 499로 찍혀 있는 것을 보게 되었습니다. 499가 무엇인가 찾아보니 표준 상태 값은 아니고 nginx에서 정의한 값입니다. 499 Client Closed Request — httpstatuses.com httpstatuses.com 페이지로 가면 설명이 있습니다. 클라이언트가 nginx에 무언가 요청을 했는데 nginx에서 요청을 처리하고 있는 도중에 클라이언트가 접속을 끊어 버리면 nginx는 499 상태 값으로 오류 로그를 남기는 것입니다. 결국 찾아낸 원인은 요청하는 곳에서 WebFlux의 WebClient를 이용해서 비동기로 요청을 날렸는데 결과를 받기 전에 접속을 끊어 버렸기 때문이었습니다. 대충 어떻게..
새로운 프로젝트를 하면서 기존에 프로젝트 환경 세팅해둔 프로젝트를 이어받았는데요. API 서버 프로젝트이고 Spring Boot WebFlux로 되어 있었습니다. 프로젝트를 이어받으면서 WebFlux 쓰지 말고 MVC로 다시 만드는 게 좋겠다는 의견을 들었는데요. 디버깅도 어렵고 익숙한 방식도 아니고 더욱이 비동기 구현해서 퍼포먼스를 끌어올려야 될 이유도 없다는 이유들이었습니다. 맞는 말들이었긴 하지만 그래도 괜히 WebFlux로 한번 계속 진행해 보고 싶더군요. 그래서 한 동안 WebFlux 공부를 하면서 진행해 보았습니다. MVC와 WebFlux MVC와 WebFlux를 간단한 Controller코드로 구현해 보았습니다. // MVC @GetMapping("/members") public Member..