Cluster 운영
- 브로커 유형에 따른 권장 파티션 수를 초과하지 않도록 한다.
kafka.t3.small 300 kafka.m5.large or kafka.m5.xlarge 1000 kafka.m5.2xlarge 2000 kafka.m5.4xlarge, kafka.m5.8xlarge, kafka.m5.12xlarge, kafka.m5.16xlarge, or kafka.m5.24xlarge 4000 - 브로커의 총 CPU 사용률 (CPU User + CPU System) 을 60% 미만으로 유지한다.
- 디스크 공간 확보를 위해, KafkaDataLogsDiskUsed 값을 85% 미만으로 유지한다.
Topic 생성
- Topic name은 Convention을 정해서 표준화된 Topic name을 사용 할 수 있도록 한다.
(참고: )
convention 예시:- 포맷: <message type>.<dataset name>.<data name>
- snake_case사용
- message type: logging, queuing, tracking, db, streaming 등
- replication factor(RF)는 2AZ Cluster→ 2개 이상, 3AZ Cluster → 3개 이상으로 한다.
- minimum in-sync replicas(minISR)은 replication factor(RF) -1 이하로 한다.
Consumer 구성
- 1개의 Consumer Group에 Consumer의 수는 Partition 수보다 적게하여, 리소스 낭비를 막는다.
참고:
https://docs.aws.amazon.com/ko_kr/msk/latest/developerguide/bestpractices.html
https://cnr.sh/essays/how-paint-bike-shed-kafka-topic-naming-conventions