01.ApacheKafkaandConfluentReferenceArchitecture
Confluent Platform Reference Architecture
Large Cluster Reference Architecture

이 아키텍처는 확장을 고려해 설계
각 구성 요소는 자체 서버를 기반 으로 구성
노드를 추가하여 독립적으로 확장할 수 있음
예로, Confluent REST Proxy를 사용하는 애플리케이션을 추가할 때 REST Proxy는 더 이상 필요한 처리량을 제공하지 못하는 반면 기존 Kafka Broker에는 여전히 여유 용량이 있다면, 이 경우 REST Proxy 노드를 추가하여 확장하면 됨
권고값인 Zookeeper 서버 4대 이상 등 각종 노드들이 이중화.
Small Cluster Reference Architecture

대부분 Kafka를 처음 도입하는 조직은 부하가 제한된 하나의 사용 사례에 대해 Confluent Platform을 채택하는 것으로 시작
이 채택이 성공적으로 입증되면 조직은 추가 애플리케이션과 팀을 수용할 수 있도록 클러스터를 확장
일반적으로 초기 도입 프로젝트의 성공을 위해 전체 배포에 대한 투자가 필요하지 않은 Confluent Platform 채택의 초기 단계에 이 아키텍처를 권장
이러한 경우 더 적은 수의 서버로 시작하고 서버당 여러 구성 요소를 설치하는 것을 권장
Confluent Control Center 및 Confluent ksqlDB와 같은 리소스 집약적 구성 요소에 대해서는 전용 서버를 구성하는 것을 권장
Hardware Recommendations for On-Premises Deployment
Large Cluster

SSD 사용 권장
Connect의 CPU 권장은 Connector Worker Node 에 한함. Connector의 동작은 CPU의 소모가 클 수 있다.
HA를 위한 노드 개수(최소 2)
Small Cluster

2행 memory : OS 영역 1GB 사용량에 따른 + α
Public Cloud Deployment
AWS, MS Azure, Google Cloud Platform
Core : Cloud Provider는 시스템 크기를 조정할 때 "가상" Core를 사용 일반적으로 데이터 센터에서 사용하는 최신 Core보다 성능이 낮을 수 있음
Network : 대부분의 Cloud Provider는 최상위 계층 노드에서만 10GbE를 제공 복제 트래픽을 고려한 필요 처리량을 제공하기에 충분한 네트워크 용량 확인
On-Premises 환경에서 설치시 HW 사양을 Public Cloud 환경에서도 권장
사용량에 따라 유동적으로 sizing 해야한다.
AWS EC2

EBS: SSD 기반의 storage
온프레미스의 Broker, CPU Dual 12-core sockets(24core) 와 다른것은 위의 명세가 최소 사양이기 때문이다.
Google Cloud Compute Engine

Eventsizer
Kafka Sizing을 위한 도구
Last updated