아파치 스톰

"오늘의AI위키"는 AI 기술로 일관성 있고 체계적인 최신 지식을 제공하는 혁신 플랫폼입니다.
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.

1. 개요

아파치 스톰은 아파치 라이선스 하에 개발된 분산 실시간 컴퓨팅 시스템이다. 님버스와 수퍼바이저 데몬으로 구성된 클러스터 아키텍처를 가지며, 주키퍼를 사용하여 클러스터 상태를 관리한다. 토폴로지, 스트림, 스파우트, 볼트 등의 구성 요소를 가지며, 스트림 처리 엔진 중 하나이다. 경쟁 플랫폼으로는 헤론, 스파크 스트리밍, 플링크 등이 있다.

아파치 스톰 - [IT 관련 정보]에 관한 문서
기본 정보

이미지 준비중입니다.

분산, 고장 방지 실시간 연산
개발사Backtype, Twitter
최신 릴리스 버전2.5.0
최신 릴리스 날짜2023년 8월 4일
운영체제크로스 플랫폼
저장소Storm Repository
프로그래밍 언어Clojure & 자바
장르분산 스트림 프로세싱
라이선스아파치 라이선스 2.0
웹사이트아파치 스톰 공식 웹사이트
📚 더 읽어볼만한 페이지
  • 분산 컴퓨팅 구조 - 슈퍼컴퓨터
    슈퍼컴퓨터는 일반 컴퓨터보다 훨씬 높은 성능을 가진 컴퓨터로, 복잡한 계산과 시뮬레이션을 수행하며, 프로세서, 메모리, 스토리지, 네트워크 등으로 구성되어 병렬 처리를 통해 높은 성능을 구현하고, 군사, 기상 예측, 과학 기술 분야, 인공지능 등 다양한 분야에서 활용되고 있다.
  • 분산 컴퓨팅 구조 - 맵리듀스
    맵리듀스는 대용량 데이터 처리를 위해 구글에서 개발한 프로그래밍 모델이자 프레임워크로, Map과 Reduce 함수를 사용하여 데이터를 병렬 처리하며 하둡 등의 오픈 소스 구현을 통해 널리 쓰인다.
  • 자바 플랫폼 - 블루레이
    블루레이 디스크는 DVD 후속 매체로, 청색 레이저를 사용하여 고화질 영상과 음향을 제공하며 HD DVD와의 경쟁 후 고밀도 광디스크 표준으로 자리 잡았으나 스트리밍 서비스 성장으로 녹화용 디스크 생산이 중단되는 추세이다.
  • 자바 플랫폼 - 자바 플랫폼, 마이크로 에디션
    자바 ME는 임베디드 및 모바일 장치에서 자바 앱을 실행하는 플랫폼으로, 피처폰에서 주로 사용되었으며 다양한 프로파일과 에뮬레이터, 개발 도구를 제공하고 JSR을 통해 기능이 확장된다.
  • 아파치 라이선스 소프트웨어 - 안드로이드 (운영체제)
    구글이 개발한 리눅스 커널 기반의 모바일 운영체제인 안드로이드는 오픈소스 플랫폼으로 다양한 기기에서 활용되며 세계적으로 널리 사용되지만, 개인정보 보호 문제와 독점적 지위 남용 논란 등의 비판도 존재한다.
  • 아파치 라이선스 소프트웨어 - 쿠버네티스
    쿠버네티스는 컨테이너화된 애플리케이션을 자동으로 배포, 스케일링, 관리하는 오픈 소스 시스템으로, 구글의 Borg 시스템에서 영감을 받아 설계되었으며 파드, 서비스 등의 기능을 제공하여 클라우드 네이티브 환경에서 중요한 역할을 한다.

2. 개발

아파치 스톰아파치 라이선스 하에 개발되어 대부분의 회사에서 자유롭게 사용할 수 있다. 버전 관리는 깃(Git)을 사용하며, 문제 추적에는 아틀라시안 지라(Atlassian JIRA)가 사용된다.

👆
좌우로 밀어서 보기
메이저 릴리스
버전출시일
2.5.02023년 8월 4일
2.4.02022년 3월 25일
2.3.02021년 9월 27일
2.2.02020년 6월 30일
2.1.02019년 9월 6일
1.2.32019년 7월 18일
2.0.02019년 5월 30일
1.1.42019년 1월 8일
1.2.22018년 6월 4일
1.1.3
1.0.72018년 5월 3일
1.2.12018년 2월 19일
1.2.02018년 2월 15일
1.1.2
1.0.62018년 2월 14일
1.0.52017년 9월 15일
1.1.12017년 8월 1일
1.0.42017년 7월 28일
1.1.02017년 3월 29일
1.0.32017년 2월 14일
0.10.22016년 9월 14일
0.9.72016년 9월 7일
1.0.22016년 8월 10일
1.0.12016년 5월 6일
0.10.12016년 5월 5일
1.0.02016년 4월 12일
0.10.02015년 11월 5일
0.9.6
0.9.52015년 6월 4일
0.9.42015년 3월 25일
0.9.32014년 11월 25일
0.9.22014년 6월 25일
0.9.12014년 2월 10일
역사적 (아파치가 아닌) 버전출시일
0.9.02013년 12월 8일
0.8.22013년 1월 11일
0.8.12012년 9월 6일
0.8.02012년 8월 2일
0.7.02012년 2월 28일
0.6.02011년 12월 15일
0.5.02011년 9월 19일

2.1. 주요 릴리스

wikitable

👆
좌우로 밀어서 보기
메이저 릴리스
버전출시일
2.4.02022년 3월 25일
2.3.02021년 9월 27일
2.2.02020년 6월 30일
2.1.02019년 10월 31일
1.2.32019년 7월 18일
2.0.02019년 5월 30일
1.2.22018년 6월 4일
1.1.3
1.2.12018년 2월 19일
1.2.02018년 2월 15일
1.1.2
1.0.62018년 2월 14일
1.0.52017년 9월 15일
1.1.12017년 8월 1일
1.0.42017년 7월 28일
1.1.02017년 3월 29일
1.0.32017년 2월 14일
0.10.22016년 9월 14일
0.9.72016년 9월 7일
1.0.22016년 8월 10일
1.0.12016년 5월 6일
0.10.12016년 5월 5일
1.0.02016년 4월 12일
0.10.02015년 11월 5일
0.9.6
0.9.52015년 6월 4일
0.9.42015년 3월 25일
0.9.32014년 11월 25일
0.9.22014년 6월 25일
0.9.12014년 2월 10일
역사적 (아파치가 아닌) 버전출시일
0.9.02013년 12월 8일
0.8.22013년 1월 11일
0.8.12012년 9월 6일
0.8.02012년 8월 2일
0.7.02012년 2월 28일
0.6.02011년 12월 15일
0.5.02011년 9월 19일

3. 아키텍처

아파치 스톰 클러스터는 마스터 노드와 워커 노드로 구성된다. 마스터 노드는 작업을 워커 노드에 할당하고 성능을 모니터링하는 데몬인 님버스(Nimbus) 를 실행한다. 워커 노드는 작업을 다른 워커 노드에 할당하고 필요에 따라 작동하는 수퍼바이저(Supervisor) 라는 데몬을 실행한다. 스톰은 클러스터의 상태를 자체적으로 모니터링할 수 없기 때문에, 님버스와 수퍼바이저 간의 통신 및 상태 관리를 위해 [[주키퍼 (소프트웨어)|주키퍼(ZooKeeper)]] 를 사용한다.

3.1. 구성 요소

아파치 스톰 클러스터는 마스터 노드와 워커 노드로 구성된다. 마스터 노드는 작업을 워커 노드에 할당하고 성능을 모니터링하는 데몬인 님버스(Nimbus) 를 실행한다. 워커 노드는 작업을 다른 워커 노드에 할당하고 필요에 따라 작동하는 수퍼바이저(Supervisor) 라는 데몬을 실행한다. 스톰은 클러스터의 상태를 자체적으로 모니터링할 수 없기 때문에, 님버스와 수퍼바이저 간의 통신 및 상태 관리를 위해 주키퍼(ZooKeeper) 를 사용한다.

스톰은 토폴로지, 스트림, 스파우트, 볼트 등의 구성 요소를 가진다. 토폴로지는 스트림과 스파우트, 볼트로 구성된 네트워크이다. 스트림은 튜플의 무제한 파이프라인이며, 스파우트는 데이터를 스트림 튜플로 변환하여 처리를 위해 볼트로 보내는 데이터 스트림의 소스이다. 볼트는 스트림으로부터 튜플을 받아 처리하고, 결과를 다른 볼트나 외부 시스템으로 전달한다.

4. 경쟁 플랫폼

아파치 스톰은 여러 스트림 처리 엔진 중 하나이며, 더 자세한 목록은 스트림 처리 문서에서 확인할 수 있다. 트위터는 2015년 6월 2일에 스톰과 API 호환성을 갖는 헤론을 발표했다. 스파크 스트리밍 및 플링크와 같은 다른 유사한 스트리밍 데이터 엔진도 존재한다.