010:00 – 4:14
카프카와 클라우드 환경의 특징
클라우드 플랫폼 개발팀의 김대호 발표자가 "클라우드 환경에서의 Kafka 운영기"를 시작한다. 카프카의 기본 구조는 토픽 메시지를 발행·구독하는 것으로, 토픽은 병렬 처리를 위해 파티션으로 나뉘고 파티션은 안정성을 위해 레플리카로 복제되며 리더·팔로워가 서로 다른 브로커에 흩어진다.
카프카는 상태 기반(스테이트풀) 시스템이다. 메시지가 브로커 파일 시스템에 저장되므로, 어떤 브로커가 특정 파티션 메시지를 저장한다는 것은 그 브로커가 해당 레플리카, 즉 상태를 가진다는 뜻이다. 중요한 점은 카프카가 이 상태를 임의로 옮기지 않는다는 것으로, 브로커에 이슈가 생겨도 레플리카가 자동 이동되지 않아 운영자가 직접 재조정해야 한다.
반면 클라우드 환경은 필요한 리소스를 원하는 만큼 쉽게 구성할 수 있는 장점이 있지만, 인프라 이슈를 추적·예상하기 어렵다는 단점이 있다. 실제로 운영 중이던 브로커가 갑자기 종료된 적이 있는데, 원인은 EC2 내부 물리 장비 이슈였다.