Flux2 [webflux] PublishOn, SubscribeOn WebFlux를 사용하는데 있어서, publisher와 subscriber 모델의 개념을 이해하는데까지 시간이 많이 소요가 되었다. mvc로 개발할 때는 메서드 호출만 하면 결과값이 return이 되었다. webflux를 사용해 비동기식으로 개발을 할 때는 메서드만 호출해서는 원하는 결과를 얻기가 힘들다. webflux에서는 subscribe(구독) 을 해야 동작을 한다. PublishOn 신호 처리 스케줄링으로 onNext, onComplete, onError 가 지정된 Scheduler 의 스레드에서 신호 처리 스레드 설정 다음 PublishOn을 만날 때까지 같은 스레드에서 동작 안만나면 동작 끝내고 마침 SubscribeOn 시퀀스를 실행할 스레드를 결정 PublishOn을 만날 때까지 같은 스레.. 2022. 4. 15. Spring WebFlux WebFlux 란 WebFlux 는 Spring 5에서 새롭게 추가된 모듈이다. 클라이언트, 서버에서 reactive 스타일의 어플리케이션 개발을 도와주는 모듈이며 Non-blocking 에 reactive streams 의 BackPressure을 지원하며 Netty, Servlet3.1+ 컨테이너와 같은 서버에서 실행된다. 위의 그림은 각각의 기능들과 공통점에 대해 나와있다. 위는 전반적인 WebFlux의 구조이다. WebFlux 를 사용하기 전에 WebFlux 가 왜 생겨났는지 궁금했다. WebFlux 가 생긴 이유 적은 수의 스레드와 최소한의 하드웨어 자원으로 동시성을 처리하고 리소스를 확장하기 위해서 만들어졌다. 이는 새로운 공통 API 가 생긴 이유가 됐으며, tomcat 이 아닌 netty와.. 2022. 4. 14. 이전 1 다음