-
실전 카프카 개발부터 운영까지isAlreadyRead 2025. 1. 5. 04:34
프로젝트에 카프카를 적용해야하여 카프카를 학습하는 중이다.
강의와 서적 모두 학습 중인데 서적은 요약이 필요할 것 같아 대략적인 내용과 필요한 부분을 기록해 두려 한다.
다만 카프카 버전이 현재와 많이 차이나므로 대략적으로 참고만 하는 식으로 진행할 것이며,
사용 중단된 기능(Deprecated)에 대해서는 기록하지 않거나, 현재와의 차이점을 기록할 것이다.
1장. 카프카 개요
기업의 카프카 도입 사례와 카프카의 장점
아파치 카프카와 인플루언트 카프카의 차이
-> 아파치 카프카는 자동차의 엔진이라면
인플루언트 카프카는 각종 편의기능(네비게이션, 조향장치 등)이 모두 탑재된 완성된 자동차Apache Kafka와 Confluent Kafka의 주요 차이점
기능 Apache Kafka Confluent Kafka 배포 오픈소스, 직접 설정 상업적 배포, 기본 기능 포함 + 확장 운영 도구 직접 도구 설치 필요 Control Center 등 다양한 도구 제공 데이터 관리 Schema Registry 없음 Schema Registry 제공 커넥터 기본 커넥터만 제공 다수의 사전 빌드된 커넥터 제공 스트리밍 처리 Streams API 제공 Streams API + KSQL 지원 보안 및 인증 기본 보안 기능 제공 강화된 보안 옵션 제공 지원 커뮤니티 기반 상업적 지원 제공 비용 무료 커뮤니티 버전 무료, 엔터프라이즈 유료 클라우드 배포 별도 설정 필요 Confluent Cloud로 완전 관리형 제공 "이벤트 드리븐 시스템 구성에서 가장 중요한 사항은 인바운드 데이터와 아웃바운드 데이터가 동일해야한다."
카프카 장점
1. 빠른 데이터 수집이 가능한 높은 처리량
2. 순서 보장
이벤트 처리 순서가 보장되면서, 엔티티 간의 유효성 검사나 동시 수정 같은 복잡성 제거3. 적어도 한번 전송
4. 카프카 클라이언트는 pull 방식으로 동작
pull은 자기자신의 속도로 데이터 처리 가능
push는 브로커가 보내주는 속도에 의존
5. 강력한 파티셔닝
이를 통해 수평확장 가능
카프카 주요 특징
1. 높은 처리량과 낮은 지연시간
-> 처리량은 카프가가 가장 높고, 응답속도만 보면 RabbitMQ가 가장 빠르지만, 둘 다 함께 고려할 경우 카프카가 압도적
2. 높은 확장성
-> 기초 설계부터 확장성 고려
3. 고가용성
-> replcation 기능
4. 내구성
람다 아키텍처?
데이터 처리 아키텍처 중 배치 파이프라인과 실시간 파이프라인이 있는 아키텍처
빅데이터를 처리하는 방식의 일종으로 하이브리드 방식으로 배치 처리나 스트림 처리를 이용할 수 있게 해준다.
빅데이터를 실시간으로 분석하기 어렵기 때문에 대용량 데이터와 실시간 데이터를 결합해서 사용
아키텍처는 3개의 계층 (Batch, Serving, Speed 레이어) 으로 이루어져있다.
실시간 및 배치 처리를 동시에 제공하여 대용량 데이터 처리를 가능하게 하지만
구현의 복잡성과 동일 로직을 각각 구현해야하는 코드의 중복이 있다. 그래서 디버깅이 어려움.
카파 아키텍처?
람다 아키텍처의 복잡성을 줄이기 위해 제안된 아키텍처로, 실시간 스트림 처리 중심으로 설계된 아키텍처이다.
단일 데이터 처리 파이프라인을 통해 모든 데이터를 실시간으로 처리한다.
모든 데이터를 실시간으로 처리하므로 배치 레이어가 필요하지 않다.
설계와 유지보수가 간단하다는 장점이 있고, 배치 레이어를 사용하지 않음으로 인해 중복구현이 필요없어졌다.
다만 모든 데이터를 스트림 처리 방식으로 처리하므로, 매우 큰 배치 작업에서는 성능이 떨어질 수 있다.
특징 람다 아키텍처 카파 아키텍처 구조 배치 레이어 + 실시간 레이어 단일 스트림 처리 레이어 복잡성 높음 낮음 중복 구현 있음 없음 재처리 지원 제한적 로그 시스템에서 재처리 가능 실시간 처리 능력 배치와 실시간 결합으로 처리 실시간 처리에 최적화 적용 사례 복잡한 데이터 처리 환경 스트림 중심의 실시간 처리 환경 "실제 운영 환경에서는 서비스의 안정성이 최우선이므로 단독 서버 형태로 운영하는 경우는 거의 없다."
-> 카프카 최소 3개 쓰자
'isAlreadyRead' 카테고리의 다른 글
실전 카프카 개발부터 운영까지 2 (0) 2025.01.05 코딩에 관해 몰랐던 사실들 기록 1 (0) 2023.10.30