https://techblog.woowahan.com/20156/
카프카를 쓰면 Lag이 발생할 수 있다. 파티션 수를 늘리고 컨슈머를 수평확장하여 Consumer의 처리량을 늘려 이를 제거할 수 있지만 컨슈머를 수평 확장해 처리량을 늘릴때는 반드시 고려할 점이 있다.
바로 컨슈머가 의존하고 있는 API나 DB 같은 외부 시스템의 부하 가능성을 염두에 두어야한다.
즉, 컨슈머를 수평 확장 하더라도 컨슈머 그룹의 최대 처리량은 외부 시스템 리소스 한계로 결정될 수도 있다.
컨슈머에 의도적인 지연을 주어 처리량을 쓰로틀링함으로써 외부 시스템 리소스 한계에 맞춰야한다.
스프링 카프카 리스너에서 메서드 마지막에 Thread.sleep(xxx)로 지연시간을 적용한다.