컨슈머가 여러개의 데이터를 가져오지만 정작 트랜잭션은 하나의 데이터만 진행하게 된다. 트랜잭션에 모아서 처리하도록 수정해야 한다.
해결 방법
[x] 각 Processor 에서 컨슘한 메시지들을 하나씩 트랜잭션에 들어가서 작업을 하는게 아닌 한번에 여러개의 메시지를 작업하자
단건 처리 - 8개 25ms
2024-08-28T18:40:11.961+09:00 INFO 11864 --- [rsaga.netty-core] [ntLoopGroup-2-2] o.s.r.b.app.BusinessMessageEventService : business event 단건 처리 : 4ms
2024-08-28T18:40:11.977+09:00 INFO 11864 --- [rsaga.netty-core] [ntLoopGroup-2-2] o.s.r.b.app.BusinessMessageEventService : business event 단건 처리 : 3ms
2024-08-28T18:40:11.977+09:00 INFO 11864 --- [rsaga.netty-core] [ntLoopGroup-2-0] o.s.r.b.app.BusinessMessageEventService : business event 단건 처리 : 3ms
2024-08-28T18:40:11.977+09:00 INFO 11864 --- [rsaga.netty-core] [ntLoopGroup-2-1] o.s.r.b.app.BusinessMessageEventService : business event 단건 처리 : 3ms
2024-08-28T18:40:11.992+09:00 INFO 11864 --- [rsaga.netty-core] [ntLoopGroup-2-2] o.s.r.b.app.BusinessMessageEventService : business event 단건 처리 : 3ms
2024-08-28T18:40:11.992+09:00 INFO 11864 --- [rsaga.netty-core] [ntLoopGroup-2-1] o.s.r.b.app.BusinessMessageEventService : business event 단건 처리 : 3ms
2024-08-28T18:40:12.226+09:00 INFO 11864 --- [rsaga.netty-core] [ntLoopGroup-2-0] o.s.r.b.app.BusinessMessageEventService : business event 단건 처리 : 3ms
2024-08-28T18:40:12.226+09:00 INFO 11864 --- [rsaga.netty-core] [ntLoopGroup-2-1] o.s.r.b.app.BusinessMessageEventService : business event 단건 처리 : 3ms
순간 10,000건의 트래픽이 들어왔을때 - 219개 조회 18ms
2024-08-28T22:28:11.181+09:00 INFO 14144 --- [rsaga.netty-core] [pool-7-thread-1] o.s.r.user.app.UserMessageEventService : Processed 106 user events in 9 ms
2024-08-28T22:28:11.184+09:00 INFO 14144 --- [rsaga.netty-core] [pool-7-thread-2] o.s.r.user.app.UserMessageEventService : Processed 113 user events in 9 ms
이슈 개요
카프카 프로세서의 최적화
문제
Processor 의 소비 문제
컨슈머가 여러개의 데이터를 가져오지만 정작 트랜잭션은 하나의 데이터만 진행하게 된다. 트랜잭션에 모아서 처리하도록 수정해야 한다.
해결 방법
단건 처리 - 8개 25ms
순간 10,000건의 트래픽이 들어왔을때 - 219개 조회 18ms
또한 모아서 처리한 경우 순간 QPS 도 낮아진다.
최적화 단계
예상 동작
실제 동작
추가 정보