카프카 리스너에서 concurrency=4로 설정했지만 tps를 시각화한 그래프를 보면 하나의 파티션에대한 정보만 수집되고있다. 알고보니 코드는 concurrency=4를 했지만 실제 파티션은 1개라서 그렇다. 이때의 TPS는 약 85정도가 나왔다.
이를 해결하기 위해 카프카내부에 접속해 파티션을 수동으로 1개 -> 4개로 설정해주었다.
그래프에선 각각의 리스너 인스턴스(TPS)가 낮아 보여도, 이건 분산 소비의 자연스러운 현상이야. 하지만 각 리스너의 TPS를 합산해보면 : 하나의 리스너 당 약 25 TPS * 4 = 약 100TPS로 병렬성을 높여서 전체적인 TPS가 향상했다.
'TIL' 카테고리의 다른 글
repository를 jpa, custom, customImpl 으로 과도하게 나눈건 아닐까? (0) | 2025.04.15 |
---|---|
기본 CRUD만 쓸 거면 JpaRepository만 쓰면 되지, 왜 또 Impl을 쓸까? (0) | 2025.04.15 |
kafka를 통한 대규모트래픽 및 동시성 제어 (0) | 2025.04.06 |
락 순서 고정 (0) | 2025.04.06 |
비관적 락(Pessimistic Lock) 도입 (0) | 2025.04.05 |