공부 흔적남기기

Kafka Topic 설정시 고민해보아야 할 것들 본문

MSA & Arcitecture

Kafka Topic 설정시 고민해보아야 할 것들

65살까지 코딩 2025. 2. 20. 23:44
728x90
반응형

1. Partition 의 개수

하나의 Topic은 여러개의 Partition 을 가질 수 있는데 충분한 브로커가 있다는 전제하에서 Partition을 증가시키면 
Consumer가 병렬로 처리하기 때문에 cosume 속도가 상당히 올라갈 수 있다.
예를들어 하나의 Topic에 대해 기존에는 1개의 Partition만 사용했다면 속도가 1이였을 것이다.

하지만 Partition의 개수를 n개로 조정한다면 cosumer가 동시에 n개에 partion에 병렬로 연결하여 처리하므로 최대 n배가 빨리질 수 있는 것이다.

 

2. Partition Replication Factor

Kafka는 고성능도 중요하지만 고가용성도 중요하다. 적절한 Replica개수를 조정해서 고가용성을 가능하게 만들자.

이때 Replica를 많이 만든다면 당연히 Produce, Consume하는 과정에서 Sync를 하게될텐데 이로 인한 성능 이슈가 발생할 수 있으니 적절한 개수를 설정하는게 중요하다.

 

3. partition In-Sync

Partition의 모든 Replica에 복제를 하다보면 성능이 떨어질 수 있다. 따라서 특정개수에 먼저 Sync 성공시 실제로 복제를 성공했다고 보는 것이다. 당연히 In-Sync 개수가 늘어나면 가용성은 늘어나겠지만 성능이 하락할 수 있다.

반대로 In-Sync개수를 줄이면 가용성은 좀 줄어들지라도 성능이 향상될 수 있다. 

728x90
반응형

'MSA & Arcitecture' 카테고리의 다른 글

EDA 간단정리  (0) 2025.02.24
SAGA 패턴 간단 정리  (0) 2025.02.23
헥사고날 아키텍쳐에 대한 고찰?  (0) 2025.02.17
MSA란 -마틴 파울러 아티클 읽기  (0) 2025.02.05
Spring Cloud를 이용한 MSA(2)  (0) 2025.01.30