728x90
아파치 카프카 클러스터를 운영하는 방법
구분
온프레미스(on-premise) : 자체 전산실에 서버를 구축
Iaas(Infrastructure-as-a-Service) : 가상 컴퓨터 리소스를 발급받아서 사용 (AWS, GCP)
Paas(Platform-as-a-Service) : 애플리케이션 개발 및 실행환경 제공 (Aws Lambda)
Saas(Software-as-a-Service) : 소프트웨어 배포 및 실행만 담당
On-Premise
- 오픈소스 카프카 설치 및 운영
- 기업용 카프카(Confluent, 튜닝 목적으로 사용하기 위함) 사용
Iaas
- 가상 컴퓨팅 리소스
Saas
- 컨플루언트 클라우드, AWS MSK
- 다양한 주변 생태계(ksqlDB, 모니터링 도구) 기능을 제공
오픈소스 카프카를 직접 설치시 꿀팁
전송된 데이터를 모두 파일시스템에 저장해야하고, 대규모 통신을 사용하는 카프카에 대해서 권장 사양
- 메모리 : 32GB, 힙메모리6GB설정, 26GB는 OS의 페이지캐시영역으로 활용
- CPU : 24코어
- DISK : RAID10설정 사용. NAS는 사용불가능
개발용 카프카 클러스터
- 브로커 5개, 16GB(힙6GB), 16Core
상용환경 카프카 클러스터
- 브로커 10개, 32GB(힙6GB), 24Core
Saas형 아파치 카프카 소개
- Confluent Kafka : Saas형 카프카
- 스키마 레지스트리, ksqlDB등 ‘오픈소스 뿐만 아니라, 커넥터, 모니터링 지표 등 다양한 툴을 제공’
- AWS MSK : 클라우드 서비스Iaas였으면 CLI환경에서 한땀한땀 해야하는 일들을, MSK에서 제공하는 웹대시보드에서 바로설정가능
- 생성, 업데이트, 삭제 등과 같은 운영요소를 대시보드를 통해서 제공
Saas형 카프카의 장단점
장점
- Scaliable에 강점을 가짐
- 일반적으로 운영할때 브로커3대 + 주키퍼3대 이상으로 운영함
- 만약 브로커들 중 일부에 이슈가 발생하여, 서버를 재시작 하더라도 크게 신경안써도됨
- Saas서비스가 자동적으로 이슈를 감지하여, 클러스터를 복구하기 때문
- 브로커 개수만 설정하여 쉽게 스케일 아웃할수 있는것이 장점
- 대시보드
- 브로커들이 제공하는 지표들을 수집, 적재, 대시보드, 시각화까지 한번에 해준다
- 보안설정
- 인증서, 인프라, 보안설정 모두 다 자동으로 해준다
단점
- 서비스 사용 비용
- 커스터마이징의 제한
- 서버의 최적화 옵션이 전부 ‘업체기준으로 맞춰져서' 나오기때문에, 이걸 커스터마이징할때 오히려 불편함
- 클라우드 종속성
- 멀티 클라우드(2개 이상의 클라우드) 혹은 하이브리드 클라우드(사내서버와 퍼블릭클라우드를 함께사용) 할때는 클라우드 종속성을 탈피하기 어려움
그럼에도 불구하고 카프카 클러스터에 대한 운영 노하우가 부족한데, 빠르게 클러스터 인프라를 구축하고 활용할때는 Saas형태로 많이들 사용한다
728x90
'DATA Engineering > Kafka' 카테고리의 다른 글
챕터4. 기타) 카프카 실습 환경 구성 (0) | 2022.07.20 |
---|---|
섹션4. 카프카 CLI 활용 (0) | 2022.07.20 |
에러해결 kafka : Configured zookeeper. connect may be wrong. (0) | 2022.07.12 |
zero-copy 대신에 io_uring (1) | 2022.07.08 |
Zero-Copy는 왜 빠를까? (Kafka) (0) | 2022.07.08 |