스프링부트 사용하면서부터 RestTemplate을 많이 사용하여 API개발을 해왔었다.
하지만 최근에 알게된 사실은 블로킹 API로 리액티브 기반의 애플리케이션에서의 성능을 떨어트리는 원인이 될 수 있다는 걸 알게 되었다. 또한 Spring5.0버전부터는 RestTemplate은 유지모드로 변경되고 향우 deprecated될 예정이라고 한다.
따라서 대안으로 Spring에서는 WebClient사용을 권고하고 있으며 다음과 같은 장점이 있다.
- Non-blocking I/O
- Reactive Streams back pressure
- High concurrency with fewer hardware resources
- Functional-style, fluent API that takes advantage of Java 8 lambdas
- Synchronous and asynchronous interactions
- Streaming up to or streaming down from a server
WebClient에 대한 자세한 사용법에 대해서 알고 싶다면 아래의 블로그 글을 참고하자.
medium.com/@odysseymoon/spring-webclient-%EC%82%AC%EC%9A%A9%EB%B2%95-5f92d295edc0
스프링공식문서
www.baeldung.com/spring-webclient-resttemplate
'Programming > Java,Spring' 카테고리의 다른 글
springboot aop Pointcut is not well-formed: expecting ')' (0) | 2022.07.06 |
---|---|
springboot & spring cloud Error creating bean with name 'configurationPropertiesBeans' (0) | 2021.11.24 |
[ Java ] 자바 7 이전과 이후 finally 그리고 리소스 close (0) | 2021.02.07 |
[ Java ] Java stream skip 사용시 IllegalArgumentException: (0) | 2021.01.14 |
[ Java ] excel poi background color is not change and black (0) | 2020.12.17 |