실시간 데이터 처리 시스템 인 Apache Storm

폭풍_로고

Apache Storm은 처리를 구성 할 수있는 프로젝트입니다. 보장 실시간으로 다양한 이벤트의 예 : Storm 실시간으로 데이터 스트림을 분석하는 데 사용할 수 있습니다. 수행하다 기계 학습 작업, 연속 계산 구성, RPC, ETL 구현 등

시스템 클러스터링 지원, l내결함성 구성, 보장 된 데이터 처리 모드를 구축하고 클러스터 노드에서 초당 XNUMX 만 개 이상의 요청을 처리 할 수있는 충분한 처리량을 제공합니다.

다양한 대기열 처리 시스템 및 데이터베이스 기술과 Apache Storm 통합.

Storm의 아키텍처 구조화되지 않은 데이터 스트림 수신 및 처리 다른 계산 단계로 나눌 수있는 임의의 복잡한 컨트롤러를 사용하여 지속적으로 업데이트됩니다.

Apache Storm 정보

이 프로젝트는 원래 프레임 워크를 개발 한 회사 인 BackType이 Twitter를 인수 한 후 Apache 커뮤니티에 넘겨졌습니다.

실제로 Storm은 마이크로 블로그의 이벤트 반영을 분석하기 위해 BackType에서 사용되었습니다., 즉석에서 새로운 트윗과 그 안에 사용 된 링크를 비교하여 (예 : 외부 링크로 평가되었거나 다른 참가자가 트위터 광고를 방송 함).

Storm 기능은 Hadoop 플랫폼과 비교, 주요 차이점은 데이터가 저장소에 저장되지 않고 외부에서 수신되어 실시간으로 처리된다는 것입니다.

Storm에는 내장 스토리지 계층이 없으며 분석 쿼리가 수신 데이터가 취소 될 때까지 적용되기 시작합니다 (Hadoop이 유한 한 시간이 걸리는 MapReduce 작업을 사용하는 경우 Storm은 "토폴로지"를 계속 실행하는 개념을 사용합니다.

핸들러의 실행은 여러 서버에 분산 될 수 있습니다. Storm은 클러스터의 다른 노드에있는 스레드로 작업을 자동으로 병렬화합니다.

Apache Storm에 제공 할 수있는 주요 사용 사례

실시간으로 새로운 데이터 스트림 또는 데이터베이스 업데이트 처리
연속 계산: Storm은 지속적인 요청을하고 지속적인 흐름을 처리 할 수 ​​있습니다. 처리 결과를 실시간으로 클라이언트에 전송합니다.

분산 원격 프로 시저 호출 (RPC) : 스톰을 사용하여 리소스 집약적 인 쿼리를 실행할 때 동시성을 제공 할 수 있습니다.

Storm의 작업 ( "토폴로지")은 들어오는 메시지가 처리되기를 기다리는 노드 간의 분산 기능입니다.

메시지를 수신 한 후 함수는 로컬 컨텍스트에서 메시지를 처리하고 결과를 반환합니다. 분산 RPC를 사용하는 예로는 검색 쿼리를 병렬 처리하거나 대규모 집합에 대한 작업을 수행 할 수 있습니다.

Apache Storm 2.0 주요 새로운 기능

Apache 재단 Storm을 Java로 작성된 새로운 커널로 이전하기위한 이니셔티브 시작, 그 결과는 Apache Storm 2.0 버전에서 제안됩니다.

플랫폼의 모든 기본 구성 요소는 Java로 다시 작성됩니다. Clojure에서 핸들러 작성에 대한 지원은 유지되지만 이제는 링크 형태로 제공됩니다. Storm 8이 작동하려면 Java 2.0.0이 필요합니다.

다중 스레드 처리 모델이 완전히 재 설계되었습니다., 그 결과 눈에 띄는 성능 향상을 가져옵니다 (일부 토폴로지의 경우 대기 시간이 50-80 % 감소됨).

새 버전에서 새로운 유형의 Streams API가 제안되었습니다., 함수형 프로그래밍 스타일의 작업을 사용하여 핸들러를 구성 할 수 있습니다.

새 API는 일반 API를 기반으로 구현되며 작업의 자동 병합을 지원하여 처리를 최적화합니다. 창 작업용 Windowing API는 백엔드에서 상태 저장 및 복원에 대한 지원을 추가합니다.

반면에 CPU 및 메모리에 국한되지 않는 결정을 내릴 때 추가 리소스를 시작하는 컨트롤러 네트워크 및 GPU 매개 변수와 같이 부팅 스케줄러에 추가되었습니다.

Kafka 플랫폼과의 통합 보장과 관련된 다양한 개선 사항입니다.
액세스 제어 시스템이 확장되어 관리자 그룹과 토큰 위임을 만들 수있는 기회가 생겼습니다.

SQL 및 메트릭 지원과 관련된 개선 사항이 추가되었습니다. 관리자 인터페이스에는 클러스터 상태를 디버깅하기위한 새로운 명령이 있습니다.


코멘트를 남겨주세요

귀하의 이메일 주소는 공개되지 않습니다. 필수 필드가 표시되어 있습니다 *

*

*

  1. 데이터 책임자 : Miguel Ángel Gatón
  2. 데이터의 목적 : 스팸 제어, 댓글 관리.
  3. 합법성 : 귀하의 동의
  4. 데이터 전달 : 법적 의무에 의한 경우를 제외하고 데이터는 제 XNUMX 자에게 전달되지 않습니다.
  5. 데이터 저장소 : Occentus Networks (EU)에서 호스팅하는 데이터베이스
  6. 권리 : 귀하는 언제든지 귀하의 정보를 제한, 복구 및 삭제할 수 있습니다.