사용자 도구

사이트 도구


springframework:webflux

차이

문서의 선택한 두 판 사이의 차이를 보여줍니다.

차이 보기로 링크

양쪽 이전 판 이전 판
다음 판
이전 판
springframework:webflux [2019/02/12 09:51]
kwon37xi
springframework:webflux [2021/09/07 09:00] (현재)
kwon37xi [Servlet과의 성능 차이]
줄 5: 줄 5:
   * [[springframework:webclient|WebClient]]   * [[springframework:webclient|WebClient]]
   * [[springframework:springboot:test|SpringBoot Test]]   * [[springframework:springboot:test|SpringBoot Test]]
 +
 +===== Servlet과의 성능 차이 =====
 +  * [[https://blog.devgenius.io/is-spring-webflux-a-myth-4526c2f92413|Is Spring WebFlux a Myth?. Does it really outperform Spring… | by Gavin Fong | Aug, 2021 | Dev Genius]]
 +  * 응답속도가 매우 좋은 환경에서는 servlet보다 느릴 경우도 존재할 수 있지만, 고 부하에 응답속도 편차가 큰 일반적인 환경에서는 WebFlux/non-blocking의 성능이 압도적으로 좋고 실패율도 낮다.
 +
  
 ===== SpringBoot WebFlux Customize ===== ===== SpringBoot WebFlux Customize =====
줄 35: 줄 40:
   * [[http://hyper-cube.io/2017/11/27/spring5-with-kotlin/|Spring 5 with Kotlin · hyper-cube.io]]   * [[http://hyper-cube.io/2017/11/27/spring5-with-kotlin/|Spring 5 with Kotlin · hyper-cube.io]]
   * [[http://www.mkyong.com/spring-boot/spring-boot-webflux-server-sent-events-example/|Spring Boot WebFlux + Server-sent events example – Mkyong.com]]   * [[http://www.mkyong.com/spring-boot/spring-boot-webflux-server-sent-events-example/|Spring Boot WebFlux + Server-sent events example – Mkyong.com]]
 +  * [[https://www.baeldung.com/spring-webflux-errors|Handling Errors in Spring WebFlux | Baeldung]]
 +  * [[https://blog.softwaremill.com/spring-webflux-and-domain-exceptions-10ae2096b159|Spring Webflux and domain exceptions – SoftwareMill Tech Blog]]
 +  * [[https://dzone.com/articles/exception-handling-in-spring-boot-webflux-reactive|Exception Handling in Spring Boot WebFlux Reactive REST Web Services - DZone Integration]]
 +  * [[https://www.baeldung.com/spring-webflux-concurrency?utm_medium=feed|Concurrency in Spring WebFlux | Baeldung]]
 +  * [[https://www.youtube.com/watch?v=I0zMm6wIbRI|내가 만든 WebFlux가 느렸던 이유]]
 +    * blocking 호출을 map 에서 수행해서 -> flatMap
 +    * ''map'' 남발. ''map''을 사용할 때마다 새로운 객체 생성 -> Memory 증가
 +    * ''log()'' 남발. log appender 를 non-blocking 으로 변경할 것. ''AsyncAppender'' 만으로는 안된다.
 +    * Test code에 BlockHound 사용해서 blocking call 탐지
 +    * blocking 이 꼭 필요하면 ''subscribeOn()'', ''publishOn()'' 사용
 +  * [[https://www.baeldung.com/spring-webflux-static-content|Static Content in Spring WebFlux | Baeldung]]
springframework/webflux.1549932692.txt.gz · 마지막으로 수정됨: 2019/02/12 09:51 저자 kwon37xi