티스토리 뷰

8.1 Backpressure란?

  • Publisher가 끊임없이 emit하는 무수히 많은 데이터를 제어하여 데이터 처리에 과부하가 걸리지 않도록 하는 것

8.2 Reactor에서의 Backpressure 처리 방식

  • 데이터 개수 제어
    • Subscriber가 request() 메서드를 통해 데이터 개수 제어
  • Backpressure 전략 사용 (Downstream으로 전달할 데이터가 버퍼에 가득 찰 경우)
    • IGNORE 전략 : Backpressure 적용하지 않음
    • ERROR 전략 : Exception 발생 (Example8_2)
    • DROP 전략 : 버퍼 밖에서 대기하는 먼저 emit된 데이터부터 Drop (Example8_3)
    • LATEST 전략 : 새로운 데이터가 들어오는 시점에 가장 최근의 데이터만 남겨 두고 나머지 데이터 폐기 (Example8_4)
    • BUFFER 전략 : 버퍼 안에 있는 데이터부터 Drop
      • DROP_LATEST 전략 : 가장 최근에 버퍼 안에 채워진 데이터를 Drop
      • DROP_OLDEST 전략 : 버퍼 안에서 가장 오래된 데이터를 Drop
댓글