Azure Event Hubs - 빅 데이터 스트리밍 플랫폼 및 이벤트 수집 서비스Azure Event Hubs — A big data streaming platform and event ingestion service

Azure Event Hubs는 빅 데이터 스트리밍 플랫폼 및 이벤트 수집 서비스입니다.Azure Event Hubs is a big data streaming platform and event ingestion service. 초당 수백만 개의 이벤트를 수신하고 처리할 수 있습니다.It can receive and process millions of events per second. 이벤트 허브로 전송된 데이터는 실시간 분석 공급자 또는 일괄 처리/스토리지 어댑터를 사용하여 변환하고 저장할 수 있습니다.Data sent to an event hub can be transformed and stored by using any real-time analytics provider or batching/storage adapters.

다음 시나리오는 Event Hubs를 사용할 수 있는 일부 시나리오입니다.The following scenarios are some of the scenarios where you can use Event Hubs:

  • 변칙 검색(사기 행위/이상값)Anomaly detection (fraud/outliers)
  • 애플리케이션 로깅Application logging
  • 클릭스트림 같은 분석 파이프라인Analytics pipelines, such as clickstreams
  • 라이브 대시보드Live dashboarding
  • 데이터 보관Archiving data
  • 트랜잭션 처리Transaction processing
  • 사용자 원격 분석 처리User telemetry processing
  • 디바이스 원격 분석 스트리밍Device telemetry streaming

Event Hubs를 사용하는 이유Why use Event Hubs?

데이터는 쉽게 처리할 수 있고 데이터 원본에서 인사이트를 적시에 얻을 수 있는 경우에만 유용합니다.Data is valuable only when there is an easy way to process and get timely insights from data sources. Event Hubs는 대기 시간이 짧고 매끄럽게 통합되는 분산 스트림 프로세싱 플랫폼을 제공하며, Azure 내부 및 외부에는 완전한 빅 데이터 파이프라인을 만들기 위한 데이터 및 분석 서비스가 있습니다.Event Hubs provides a distributed stream processing platform with low latency and seamless integration, with data and analytics services inside and outside Azure to build your complete big data pipeline.

Event Hubs는 이벤트 파이프라인의 "현관" 역할을 하며, 솔루션 아키텍처에서는 이벤트 수집기라고 부르기도 합니다.Event Hubs represents the "front door" for an event pipeline, often called an event ingestor in solution architectures. 이벤트 ingestor는 이러한 이벤트에서 이벤트 스트림의 프로덕션을 분리하는 이벤트 게시자와 이벤트 소비자 간에 작용하는 구성 요소 또는 서비스입니다.An event ingestor is a component or service that sits between event publishers and event consumers to decouple the production of an event stream from the consumption of those events. Event Hubs는 통합 스트리밍 플랫폼에 시간 보존 버퍼를 제공하며, 이벤트 소비자로부터 이벤트 생산자를 분리합니다.Event Hubs provides a unified streaming platform with time retention buffer, decoupling event producers from event consumers.

다음 섹션에서는 Azure Event Hubs 서비스의 주요 기능을 설명합니다.The following sections describe key features of the Azure Event Hubs service:

완전히 관리되는 PaaSFully managed PaaS

Event Hubs는 구성 또는 관리 오버헤드가 거의 없는 완전 관리형 PaaS(Platform-as-a-Service)이므로 비즈니스 솔루션에 집중할 수 있습니다.Event Hubs is a fully managed Platform-as-a-Service (PaaS) with little configuration or management overhead, so you focus on your business solutions. Apache Kafka 에코시스템을 위한 Event Hubs는 클러스터를 관리, 구성 또는 실행할 필요가 없는 PaaS Kafka 환경을 제공합니다.Event Hubs for Apache Kafka ecosystems gives you the PaaS Kafka experience without having to manage, configure, or run your clusters.

실시간 일괄 처리 지원Support for real-time and batch processing

스트림을 실시간으로 수집, 버퍼, 저장 및 처리하여 실행 가능한 인사이트를 얻을 수 있습니다.Ingest, buffer, store, and process your stream in real time to get actionable insights. Event Hubs는 분할된 소비자 모델을 사용하여 여러 애플리케이션이 스트림을 동시에 처리할 수 있도록 지원하며, 처리 속도를 사용자가 제어할 수 있습니다.Event Hubs uses a partitioned consumer model, enabling multiple applications to process the stream concurrently and letting you control the speed of processing.

Azure Blob Storage 또는 Azure Data Lake Storage 에서 데이터를 거의 실시간으로 캡처하여 장기 보존하거나 마이크로 일괄 처리할 수 있습니다.Capture your data in near-real time in an Azure Blob storage or Azure Data Lake Storage for long-term retention or micro-batch processing. 이 동작은 실시간 분석 파생에 사용하는 것과 동일한 스트림에서 수행할 수 있습니다.You can achieve this behavior on the same stream you use for deriving real-time analytics. 이벤트 데이터의 캡처는 빠르게 설정할 수 있습니다.Setting up capture of event data is fast. 실행을 위한 관리 비용이 없고 Event Hubs  처리량 단위에 따라 크기가 자동으로 조정됩니다.There are no administrative costs to run it, and it scales automatically with Event Hubs throughput units. Event Hubs를 통해 데이터 캡처보다 데이터 처리에 집중할 수 있습니다.Event Hubs enables you to focus on data processing rather than on data capture.

Azure Event Hubs를 Azure Functions와 통합하여 서버 없는 아키텍처를 구현할 수도 있습니다.Azure Event Hubs also integrates with Azure Functions for a serverless architecture.

확장성Scalable

Event Hubs를 사용하여 메가바이트 단위로 데이터 스트림을 시작하고 이후에 기가바이트 또는 테라바이트 단위로 확장할 수 있습니다.With Event Hubs, you can start with data streams in megabytes, and grow to gigabytes or terabytes. 자동 팽창 기능은 사용량 요구 사항을 충족하도록 처리량 단위 수를 조정하는 데 사용되는 여러 옵션 중 하나입니다.The Auto-inflate feature is one of the many options available to scale the number of throughput units to meet your usage needs.

풍부한 에코시스템Rich ecosystem

Apache Kafka 에코시스템을 위한 Event Hubs를 사용하면 Apache Kafka(1.0 이상) 클라이언트 및 애플리케이션이 Event Hubs와 통신합니다.Event Hubs for Apache Kafka ecosystems enables Apache Kafka (1.0 and later) clients and applications to talk to Event Hubs. 사용자 고유의 Kafka 클러스터를 설정, 구성 및 관리할 필요가 없습니다.You do not need to set up, configure, and manage your own Kafka clusters.

방대한 에코시스템이 다양한 언어(.NET, Java, Python, Go, Node.js)로 제공되므로 Event Hubs에서 간편하게 스트림 처리를 시작할 수 있습니다.With a broad ecosystem available in various languages (.NET, Java, Python, Go, Node.js), you can easily start processing your streams from Event Hubs. 지원되는 모든 클라이언트 언어는 하위 수준 통합을 제공합니다.All supported client languages provide low-level integration. 또한 에코시스템은 Azure Stream Analytics 및 Azure Functions와 같은 Azure 서비스와 중단 없이 통합되어 서버리스 아키텍처를 빌드할 수 있습니다.The ecosystem also provides you with seamless integration with Azure services like Azure Stream Analytics and Azure Functions and thus enables you to build serverless architectures.

주요 아키텍처 구성 요소Key architecture components

Event Hubs에는 다음과 같은 주요 구성 요소가 포함되어 있습니다.Event Hubs contains the following key components:

  • 이벤트 생산자: 이벤트 허브에 데이터를 보내는 엔터티입니다.Event producers: Any entity that sends data to an event hub. 이벤트 게시자는 HTTPS 또는 AMQP 1.0 또는 Apache Kafka 1.0 이상을 사용하여 이벤트를 게시할 수 있습니다.Event publishers can publish events using HTTPS or AMQP 1.0 or Apache Kafka (1.0 and above)
  • 파티션: 각 소비자는 메시지 스트림의 특정 하위 세트 또는 파티션만 읽습니다.Partitions: Each consumer only reads a specific subset, or partition, of the message stream.
  • 소비자 그룹: 전체 이벤트 허브의 보기(상태, 위치 또는 오프셋)입니다.Consumer groups: A view (state, position, or offset) of an entire event hub. 소비자 그룹을 사용하면 각기 별도의 이벤트 스트림 보기가 표시되는 애플리케이션을 사용할 수 있습니다.Consumer groups enable consuming applications to each have a separate view of the event stream. 소비자는 자신의 속도로 자신의 오프셋을 통해 독립적으로 스트림을 읽습니다.They read the stream independently at their own pace and with their own offsets.
  • 처리량 단위: Event Hubs의 처리량 용량을 제어하는 미리 구입한 용량 단위입니다.Throughput units: Pre-purchased units of capacity that control the throughput capacity of Event Hubs.
  • 이벤트 수신기: 이벤트 허브에서 이벤트 데이터를 읽는 엔터티입니다.Event receivers: Any entity that reads event data from an event hub. 모든 Event Hubs 소비자는 AMQP 1.0 세션을 통해 연결합니다.All Event Hubs consumers connect via the AMQP 1.0 session. Event Hubs 서비스는 사용할 수 있게 되면 세션을 통해 이벤트를 제공합니다.The Event Hubs service delivers events through a session as they become available. 모든 Kafka 소비자는 Kafka 프로토콜 1.0 이상을 통해 연결합니다.All Kafka consumers connect via the Kafka protocol 1.0 and later.

다음 그림에서는 아키텍처를 처리하는 Event Hubs 스트림을 보여 줍니다.The following figure shows the Event Hubs stream processing architecture:

Event Hubs

다음 단계Next steps

Event Hubs 사용을 시작하려면 이벤트 보내기 및 받기 자습서를 참조하세요.To get started using Event Hubs, see the Send and receive events tutorials:

Event Hubs에 대한 자세한 내용은 다음 문서를 참조하세요.To learn more about Event Hubs, see the following articles: