f-lab-edu / league-of-legends-data-solution

‘리그 오브 레전드’를 벤치마킹해서 플레이어의 행동 이벤트를 발생하는 API를 통해 실시간으로 데이터가 잘 흐를 수 있도록 데이터 솔루션을 제공합니다.
2 stars 0 forks source link

[Feat] 프로토타입 데이터 파이프라인에 적용 될 Kafka 클러스터 구축 #3

Closed Ra99it closed 3 months ago

Ra99it commented 3 months ago

프로토타입 데이터 파이프라인에 적용 될 Kafka 클러스터를 구축합니다.

다음과 같은 조건을 가집니다.

f-lab-johnp commented 3 months ago

혹시 Docker Swarm을 선택하신 특별한 이유가 있을까요? 컨테이너 오케스트레이션 영역에서는 2020년부터 쿠버네티스가 표준으로 자리잡고 있습니다. 현재는 쿠버네티스 오픈소스 진영의 생태계가 빠르게 발전하여 플랫폼 구축 시 많은 이점을 누릴 수 있습니다. 쿠버네티스에 대한 학습이 부담이라면 AWS ECS 또는 EC2 서버 여러 대로 구성하는 방법도 있을 것 같습니다. 참고 17년 서베이 자료: 링크

Ra99it commented 3 months ago

먼저 빠르게 구축하고, 편리하게 여러 클러스터(Kafka, Trino, Airflow)를 관리하기 위해 선택을 했습니다 또한 어떠한 설정을 했는지 소스코드로 확인 할 수 있는 장점이 있다고 생각했습니다.

쿠버네티스는 학습의 시간이 필요하다고 판단해서 추후에 데이터 파이프라인을 구축한 후에 적용 할 계획하고 있습니다.

현재 EC2 서버 여러 대로 구축해보고 운영적인 측면에서 불편했던 경험이 있어서 Docker Swarm을 선택했습니다.

f-lab-johnp commented 3 months ago

말씀드린 방법들 역시 코드로 정의할 수 있습니다. 먼저 빠르게 구축하고 추후에 적용하고자 한다면 Docker Swarm으로 동일한 과정을 반복하기 보다 단일 서버에서 docker-compose를 통해 구성하는 방법은 어떨까요?

Ra99it commented 3 months ago

코드로 정의하는 부분은 추가로 학습해 보고 적용할 수 있도록 알아보도록 하겠습니다

프로토타입 구축된 환경을 기반으로 기술, 보안 부분을 점진적으로 향상하려는 목적이었습니다. 그래서 Docker Swarm으로 구축했는데

말씀을 통해 다시 생각해 보니 먼저 단일 서버로 빠르게 구축하고, 데이터 파이프라인 목적에 맞게 데이터가 잘 흐르고 기능을 잘 수행하는지 체크한 다음에 서버를 분산 서버로 구축하는 것이 훨씬 효율적이라는 생각이 듭니다.

현재 Kafka, Trino, Airflow까지는 테스트가 완료된 상태입니다. 다음에 적용될 테스트 목적의 기술들은 단일 서버로 구성하고 테스트해서 완료된다면 분산 서버로 확장하는 식으로 방식을 바꿔보도록 하겠습니다.