Azure Event Hubs - 빅 데이터 스트리밍 플랫폼 및 이벤트 수집 서비스

Azure Event Hubs는 빅 데이터 스트리밍 플랫폼 및 이벤트 수집 서비스입니다. 초당 수백만 개의 이벤트를 수신하고 처리할 수 있습니다. 이벤트 허브로 전송된 데이터는 실시간 분석 공급자 또는 일괄 처리/스토리지 어댑터를 사용하여 변환하고 저장할 수 있습니다.

다음 시나리오는 Event Hubs를 사용할 수 있는 일부 시나리오입니다.

  • 변칙 검색(사기 행위/이상값)
  • 애플리케이션 로깅
  • 클릭스트림 같은 분석 파이프라인
  • 라이브 대시보드
  • 데이터 보관
  • 트랜잭션 처리
  • 사용자 원격 분석 처리
  • 디바이스 원격 분석 스트리밍

Event Hubs를 사용하는 이유

데이터는 쉽게 처리할 수 있고 데이터 원본에서 인사이트를 적시에 얻을 수 있는 경우에만 유용합니다. Event Hubs는 대기 시간이 짧고 매끄럽게 통합되는 분산 스트림 프로세싱 플랫폼을 제공하며, Azure 내부 및 외부에는 완전한 빅 데이터 파이프라인을 만들기 위한 데이터 및 분석 서비스가 있습니다.

Event Hubs는 이벤트 파이프라인의 "현관" 역할을 하며, 솔루션 아키텍처에서는 이벤트 수집기라고 부르기도 합니다. 이벤트 ingestor는 이러한 이벤트에서 이벤트 스트림의 프로덕션을 분리하는 이벤트 게시자와 이벤트 소비자 간에 작용하는 구성 요소 또는 서비스입니다. Event Hubs는 통합 스트리밍 플랫폼에 시간 보존 버퍼를 제공하며, 이벤트 소비자로부터 이벤트 생산자를 분리합니다.

다음 섹션에서는 Azure Event Hubs 서비스의 주요 기능을 설명합니다.

완전히 관리되는 PaaS

Event Hubs는 구성 또는 관리 오버헤드가 거의 없는 완전 관리형 PaaS(Platform-as-a-Service)이므로 비즈니스 솔루션에 집중할 수 있습니다. Apache Kafka 에코시스템을 위한 Event Hubs는 클러스터를 관리, 구성 또는 실행할 필요가 없는 PaaS Kafka 환경을 제공합니다.

실시간 일괄 처리 지원

스트림을 실시간으로 수집, 버퍼, 저장 및 처리하여 실행 가능한 인사이트를 얻을 수 있습니다. Event Hubs는 분할된 소비자 모델을 사용하여 여러 애플리케이션이 스트림을 동시에 처리할 수 있도록 지원하며, 처리 속도를 사용자가 제어할 수 있습니다. Azure Event Hubs를 Azure Functions와 통합하여 서버 없는 아키텍처를 구현할 수도 있습니다.

이벤트 데이터 캡처

Azure Blob Storage 또는 Azure Data Lake Storage에서 데이터를 거의 실시간으로 캡처하여 장기 보존하거나 마이크로 일괄 처리할 수 있습니다. 이 동작은 실시간 분석 파생에 사용하는 것과 동일한 스트림에서 수행할 수 있습니다. 이벤트 데이터의 캡처는 빠르게 설정할 수 있습니다. 실행을 위한 관리 비용이 없고 Event Hubs 처리량 단위 또는 처리 단위에 따라 크기가 자동으로 조정됩니다. Event Hubs를 통해 데이터 캡처보다 데이터 처리에 집중할 수 있습니다.

확장성

Event Hubs를 사용하여 메가바이트 단위로 데이터 스트림을 시작하고 이후에 기가바이트 또는 테라바이트 단위로 확장할 수 있습니다. 자동 팽창 기능은 사용량 요구 사항을 충족하도록 처리량 단위 또는 처리 단위 수를 조정하는 데 사용되는 여러 옵션 중 하나입니다.

풍부한 에코시스템

업계 표준 AMQP 1.0 프로토콜을 기반으로 하는 방대한 에코시스템이 다양한 언어 .NET, Java, Python, JavaScript로 제공되므로 Event Hubs에서 간편하게 스트림 처리를 시작할 수 있습니다. 지원되는 모든 클라이언트 언어는 하위 수준 통합을 제공합니다. 또한 에코시스템은 Azure Stream Analytics 및 Azure Functions와 같은 Azure 서비스와 매끄럽게 통합되어 서버리스 아키텍처를 빌드할 수 있습니다.

Apache Kafka용 Event Hubs

또한 Apache Kafka 에코시스템을 위한 Event Hubs를 사용하면 Apache Kafka(1.0 이상) 클라이언트 및 애플리케이션이 Event Hubs와 통신합니다. 자체 Kafka 및 Zookeeper 클러스터를 설정, 구성 및 관리하거나 Azure에 기본이 아닌 일부 Kafka-as-a-Service 제품을 사용할 필요가 없습니다.

Event Hubs 프리미엄 및 전용

Event Hubs 프리미엄은 관리형 다중 테넌트 PaaS 환경에서 예측 가능한 대기 시간 및 간섭을 최소화하면서 탁월한 성능, 더 나은 격리를 필요로 하는 고급 스트리밍 요구 사항을 충족합니다. 표준 제품의 모든 기능을 기반으로 프리미엄 계층은 동적 파티션 스케일 업, 연장 보존 및 고객 관리형 키와 같은 몇 가지 추가 기능을 제공합니다. 자세한 내용은 Event Hubs 프리미엄을 참조하세요.

Event Hubs 전용 계층은 스트리밍 요구 사항이 가장 까다로운 고객을 위한 단일 테넌트 배포를 제공합니다. 이 단일 테넌트 제품은 99.99% SLA를 보장하며 당사의 전용 가격 책정 계층에서만 사용할 수 있습니다. 보장된 용량을 제공하고 대기 시간이 1초 미만에 불과한 Event Hubs 클러스터는 초당 수백만 개의 이벤트를 수신할 수 있습니다. 전용 클러스터 내에서 생성된 네임스페이스 및 이벤트 허브에는 프리미엄 제품의 모든 기능 등이 포함됩니다. 자세한 내용은 Event Hubs Dedicated를 참조하세요.

자세한 내용은 Event Hubs 계층 간 비교를 참조하세요.

Azure Stack Hub의 Event Hubs

Azure Stack Hub의 Event Hubs를 사용하면 하이브리드 클라우드 시나리오를 실현할 수 있습니다. 온-프레미스 및 Azure 클라우드 처리 모두에 대해 스트리밍 및 이벤트 기반 솔루션이 지원됩니다. 시나리오가 하이브리드(연결)인지 연결이 끊김인지에 관계없이 솔루션은 대규모 이벤트/스트림 처리를 지원할 수 있습니다. 시나리오는 필요에 따라 프로비저닝할 수 있는 Event Hubs 클러스터 크기에 의해서만 바인딩됩니다.

Event Hubs 버전(Azure Stack Hub 및 Azure)은 높은 수준의 기능 패리티를 제공합니다. 이 패리티는 SDK, 샘플, PowerShell, CLI 및 포털을 통해 거의 차이가 없는 유사한 환경을 제공합니다.

자세한 내용은 Azure Stack Hub의 Event Hubs 개요를 참조하세요.

주요 아키텍처 구성 요소

Event Hubs에는 다음과 같은 주요 구성 요소가 포함되어 있습니다.

  • 이벤트 생산자: 이벤트 허브에 데이터를 보내는 엔터티입니다. 이벤트 게시자는 HTTPS 또는 AMQP 1.0 또는 Apache Kafka 1.0 이상을 사용하여 이벤트를 게시할 수 있습니다.
  • 파티션: 각 소비자는 메시지 스트림의 특정 하위 세트 또는 파티션만 읽습니다.
  • 소비자 그룹: 전체 이벤트 허브의 보기(상태, 위치 또는 오프셋)입니다. 소비자 그룹을 사용하면 각기 별도의 이벤트 스트림 보기가 표시되는 애플리케이션을 사용할 수 있습니다. 소비자는 자신의 속도로 자신의 오프셋을 통해 독립적으로 스트림을 읽습니다.
  • 처리량 단위(표준 계층) 또는 처리 단위(프리미엄 계층) 또는 용량 단위(전용): Event Hubs의 처리 용량을 제어하는 사전 구매 용량 단위입니다.
  • 이벤트 수신기: 이벤트 허브에서 이벤트 데이터를 읽는 엔터티입니다. 모든 Event Hubs 소비자는 AMQP 1.0 세션을 통해 연결합니다. Event Hubs 서비스의 사용이 가능해지면 세션을 통해 이벤트를 전달합니다. 모든 Kafka 소비자는 Kafka 프로토콜 1.0 이상을 통해 연결합니다.

다음 그림에서는 아키텍처를 처리하는 Event Hubs 스트림을 보여 줍니다.

Event Hubs

다음 단계

Event Hubs 사용을 시작하려면 이벤트 보내기 및 받기 자습서를 참조하세요.

Event Hubs에 대한 자세한 내용은 다음 문서를 참조하세요.