카프카 토픽 생성 시 고려할 점
본 글은 아래 도서 저자인 유튜버 데브원영님의 영상을 참고/gpt-4o내용을 기반으로 하여 작성하였습니다.
아파치 카프카 애플리케이션 프로그래밍 WITH 자바 - 웹/네트워크 | 쿠팡
쿠팡에서 0.0 구매하고 더 많은 혜택을 받으세요! 지금 할인중인 다른 0 제품도 바로 쿠팡에서 확인할 수 있습니다.
www.coupang.com
필자는 현재 운영중인 서비스에서 신규 토픽을 생성하고 컨슈머/프로듀서에서 데이터를 사용하는 새로운 업무를 적용해야 했다.
운영 환경에서 토픽 생성 시 확인부분
- 토픽을 생성하는 것 자체는 기운영중인 서비스에서, 다른 토픽에 영향을 주지 않는다.
- 토픽 생성한다고 하여 카프카를 재기동 할 필요도 없다.
- 토픽 제거는 기 운영중인 서비스에서 지양한다고 한다. 아래 옵션이 true여야 제거가 가능하다.
# etc/kafka/server.properties파일
delete.topic.enable = true
카프카 토픽 생성 시 고려할 점
- Replication 수 : 6개 이상의 브로커인 환경에서는 2개의 replicaiton이 권장
- 추가로, ack 옵션은 Follower 파티션에 잘 데이터가 복제됐는지 체크(단, 속도가 현저히 느림)partition;1, replication:2인 예시 - Partition 수 : 사용할 컨슈머 그룹에 맞춰서 적용하며, 파티션의 개수를 줄일수는 없으니 신중하게 선택 해야한다.
토픽 데이터를 사용할때 컨슈머 간 충돌 고려
다른 컨슈머 그룹에서 데이터 읽는데에 영향을 미치지않는다.
그룹별/토픽별로 Offset을 나누어 저장함.
하나의 토픽으로 들어온 데이터는 각자 컨슈머 그룹별로 중복 처리 될 수 있음.
아파치 카프카 애플리케이션 프로그래밍 WITH 자바 - 웹/네트워크 | 쿠팡
쿠팡에서 0.0 구매하고 더 많은 혜택을 받으세요! 지금 할인중인 다른 0 제품도 바로 쿠팡에서 확인할 수 있습니다.
www.coupang.com