아파치 스톰 소개


아파치 스톰이란 무엇인가요?

Apache Storm은 분산형 실시간 빅데이터 처리 시스템입니다. Storm은 내결함성과 수평 확장이 가능한 접근 방식으로 대량의 데이터를 처리하도록 설계되었습니다. 수집률이 가장 높은 스트리밍 데이터 프레임워크입니다. Storm은 상태 비저장이지만 Apache ZooKeeper를 통해 분산 환경과 클러스터 상태를 관리합니다. 이는 간단하며 실시간 데이터에 대해 다양한 작업을 병렬로 수행할 수 있습니다.

Apache Storm은 계속해서 실시간 데이터 분석 분야의 선두주자입니다. Storm은 설정 및 작동이 쉬우며 각 메시지가 토폴로지를 통해 한 번 이상 처리되도록 보장합니다.

Apache Storm vs Hadoop

기본적으로 Hadoop과 Storm 프레임워크는 빅데이터를 분석하는 데 사용됩니다. 이 둘은 서로를 보완하고 어떤 면에서는 다릅니다. Apache Storm은 지속성을 제외한 모든 작업을 수행하는 반면 Hadoop은 모든 작업에 능숙하지만 실시간 계산에 뒤처집니다. 다음 표에서는 Storm과 Hadoop의 속성을 비교합니다.

ZooKeeper 기반 조정이 있거나 없는 마스터-슬레이브 구조. 마스터 노드는 Storm 스트리밍 프로세스는 클러스터에서 초당 수만 개의 메시지에 액세스할 수 있습니다. Hadoop 분산 파일 시스템(HDFS)은 MapReduce 프레임워크를 사용하여 몇 분 또는 몇 시간이 걸리는 대량의 데이터를 처리합니다. Storm 토폴로지는 사용자가 종료되거나 예상치 못한 복구 불가능한 오류가 발생할 때까지 실행됩니다. MapReduce 작업은 순차적으로 실행되어 최종적으로 완료됩니다. 후광/수퍼바이저가 종료되면 재부팅하면 중단된 부분부터 계속 진행되므로 아무 영향도 받지 않습니다. JobTracker가 충돌하면 실행 중인 모든 작업이 손실됩니다.

Apache Storm 사용 예

Apache Storm은 실시간 빅데이터 스트림 처리로 매우 유명합니다. 따라서 대부분의 회사는 Storm을 시스템의 필수 부분으로 사용합니다. 몇 가지 주목할만한 예는 다음과 같습니다. -

Twitter - Twitter는 Apache Storm을 "게시자 분석 제품"으로 사용하고 있습니다. "Publisher Analytics 제품"은 Twitter 플랫폼의 모든 트윗과 클릭을 처리합니다. Apache Storm은 Twitter 인프라와 긴밀하게 통합되어 있습니다.

NaviSite - NaviSite는 이벤트 로그 모니터링/감사 시스템에 Storm을 사용하고 있습니다. 시스템에서 생성된 모든 로그는 Storm을 통과합니다. Storm은 구성된 정규식 세트와 비교하여 메시지를 확인하고 일치하는 항목이 있으면 해당 특정 메시지가 데이터베이스에 저장됩니다.

Wego - Wego는 싱가포르에 본사를 둔 여행 메타 검색 엔진입니다. 여행 관련 데이터는 전 세계 다양한 소스에서 다양한 시기에 수집됩니다. Storm은 Wego가 실시간 데이터를 검색하고, 동시성 문제를 해결하고, 최종 사용자에게 가장 적합한 항목을 찾는 데 도움을 줍니다.

Apache Storm의 장점

Apache Storm이 제공하는 이점 목록은 다음과 같습니다.

  • Storm은 오픈 소스로 강력하며 사용자 친화적입니다. 중소기업과 대기업 모두에서 사용할 수 있습니다.

  • Storm은 내결함성이 있고 유연하며 안정적이며 모든 프로그래밍 언어를 지원합니다.

  • 실시간 스트리밍을 허용합니다.

  • Storm은 데이터 처리 능력이 엄청나기 때문에 엄청나게 빠릅니다.

  • Storm은 부하가 증가하더라도 리소스를 선형적으로 늘려 성능을 유지할 수 있습니다. 확장성이 뛰어납니다.

  • Storm은 데이터 새로 고침을 수행하고 문제에 따라 몇 초 또는 몇 분 안에 엔드투엔드 응답을 제공합니다. 대기 시간이 매우 짧습니다.

  • Storm에는 운영 인텔리전스가 있습니다.

  • Storm은 클러스터에 연결된 노드가 죽거나 메시지가 손실되더라도 데이터 처리를 보장합니다.

StormHadoop
실시간 스트림 처리일괄 처리
StatelessStateful
마스터/슬레이브 아키텍처 ZooKeep er 조정. 마스터 노드를 nimbus라고 하고 슬레이브 노드를 supervisors라고 합니다. 작업 추적기이고 슬레이브 노드는 작업 추적기입니다.
둘 다 분산되어 있으며 내결함성이 있습니다.