Cloud Native

Backpressure algorithm

Roiei 2023. 8. 14. 08:18
반응형

처리해야 할 message의 overflow 상황 발생 시 이를 처리하는 방법입니다.

microservice가 요청을 전달 받는 즉, push로 받는 경우 buffer 내 가용 공간이 없다면 가장 오래된 것 부터 drop을 합니다.

혹은 microservice가 Kafka와 같이 pull 방식으로 message를 가져가는 것을 지원하는 message broker로부터 message를 처리할 수 있는 만큼만 가져가도록 합니다.

 

  • push based backpressure
    • buffer overflow 시 data drop
    • backpressure 발생 시 data를 drop 하고 최신 데이터만 유지
  • pull based backpressure
    • consumer가 처리 가능한 정도만 data를 획득
    • Kafka는 full 방식을 지원
반응형