[TIL] 코드스테이츠 SEB BE Day 75

💡 Today I Will Learn

  • Project Reactor
  • 마블 다이어그램 & 스케쥴러
  • Operators

✏️ Check Box


📌 정리


이전에 학습한 리액티브 스트림즈를 구현한 Project Reactor에 대해 학습했다. Mono(0~1), Flux(0~N) 두개의 Publisher 타입으로 Non-blocking 통신을 지원한다. 즉 쓰레드들이 wait하지 않고 유연하게 진행된다. 그 후 emit된 데이터를 Subscriber가 소비하는 방식이다.

이러한 리액티브 프로그래밍의 흐름을 보여주는 그림이 마블(구슬) 다이어그램이고 Non-blocking 통신을 위해 쓰레드를 관리하여 비동기 프로그래밍을 지원하는 것이 스케쥴러이다.

마블 다이어그램에서 emit된 데이터를 상황에 따라 처리할 수 있는 Operator가 많~이 존재한다. Stream API에서 접했던 비슷한 메서드들도 있고, 처음보는 것들도 상당히 많았다.

Spring Webflux를 써보기 위한 리액티브 프로그래밍 공부라고 이해하는 중이다. 다만 너무 생소한 까닭에 갈피가 잡히지 않는 것도 사실이다. 당장 닥칠 프로젝트에서는 활용하지 못할 가능성이 크지만 내일 배울 Webflux 까지는 경험적으로도 도움이 될 것이라 생각한다😐

🎯 Tomorrow


  • Spring WebFlux
  • Spring Data R2DBC

Back to [TIL] 코드스테이츠 SEB BE Day 74