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 방식을 지원
반응형