신지덤

  1. 신기술
    1. 신기술

STORM

개념
STORM(스톰) - 이벤트 스트림 프로세싱을 위한 분산형 컴퓨팅 프레임워크

I. 정의

     이벤트 스트림 프로세싱을 위한 분산형 컴퓨팅 프레임워크


II. 특징

         1) 확장성, 빠른처리, 내결함성 우수, 스트리밍 처리에 초점                                                                                                                                                    2) 빠른실패, 자동재시작(fail fast, auto restart)의 고장방지능력 지원                            
         3) 사용언어: 클로저(Clojure)에 기반이며, JVM에서 실행


III. 스톰데이터 모델  >> 토폴로지 모델의 구성요소
         1) 스파웃(Spout):  스트리밍 데이터를 입력 받음(Input 스트림), 데이터 볼트로 전달 
         2) 볼트(Bolt) :  데이터 처리로직 수행(Aggregation,filtering, transfomation), Output 스트림 


IV. 스톰 아키텍처
         1) 님버스(Nimbus) : 마스터 노드로써 워커노드에 상주하는 슈퍼바이저에 작업 분배, 쥬키퍼를 이용하여 노드간 통신 및 작업의 상태관리로 장애 대비
         2) Supervisior : 슬래이브 노드의 데몬으로 님버스에서 할당 받은 작업을 처리
         3) Worker : 슈퍼바이저 하위에서 스파우트와 볼트에 따라 하위베벨의 복수 작업 스레드를 생성
         4) Zookeeper : 클러스터 설정과 상태 저장 , 작업진행 상황 및 클러스터 상태정보를 님버스와 슈퍼바이저에 제공


V. 활용

     실시간 롤링 메트릭스 계산, 증진적 계산, 이벤트처리 >> 크게 예방 및 프로세스 최적화에 활용가능


VI. MapRecude대비 개선된사항

     1) 실시간 처리 2) Fault Tolerance 3) 스트리밍 데이터 처리        

댓글