Azure Event Hubs – 네이티브 Apache Kafka 지원을 사용하는 실시간 데이터 스트리밍 플랫폼

Azure Event Hubs는 모든 원본에서 모든 대상으로 대기 시간이 짧은 초당 수백만 개의 이벤트를 스트리밍할 수 있는 클라우드 네이티브 데이터 스트리밍 서비스입니다. Event Hubs는 Apache Kafka와 호환되며 코드 변경 없이 기존 Kafka 워크로드를 실행할 수 있습니다.

Event Hubs를 사용하여 스트리밍 데이터를 수집하고 저장하면 기업은 스트리밍 데이터의 기능을 활용하여 중요한 인사이트를 얻고, 실시간 분석을 추진하고, 이벤트 발생 시 이벤트에 응답하여 전반적인 효율성과 고객 환경을 향상시킬 수 있습니다.

Diagram that shows how Azure Event Hubs fits in an event streaming platform.

Azure Event Hubs는 Azure를 기반으로 빌드하는 모든 이벤트 스트리밍 솔루션의 기본 이벤트 수집 계층입니다. Azure 내부 및 외부의 데이터 및 분석 서비스와 원활하게 통합되어 다음과 같은 사용 사례를 제공하는 전체 데이터 스트리밍 파이프라인을 빌드합니다.

주요 기능

Azure Event Hubs의 Apache Kafka

Azure Event Hubs는 기본적으로 AMQP, Apache Kafka 및 HTTPs 프로토콜을 지원하는 다중 프로토콜 이벤트 스트리밍 엔진입니다. Apache Kafka를 지원하므로 코드를 변경하지 않고도 Kafka 워크로드를 Azure Event Hubs로 가져옵니다. 자체 Kafka 클러스터를 설정, 구성 및 관리하거나 Azure에 기본이 아닌 Kafka-as-a-Service 제품을 사용할 필요가 없습니다.

Event Hubs는 처음부터 클라우드 네이티브 브로커 엔진으로 빌드됩니다. 따라서 Kafka 워크로드를 더 나은 성능, 더 나은 비용 효율성 및 운영 오버헤드 없이 실행할 수 있습니다.

자세한 내용은 Apache Kafka용 Azure Event Hubs를 참조하세요.

Azure Event Hubs의 스키마 레지스트리

Event Hubs의 Azure 스키마 레지스트리는 이벤트 스트리밍 애플리케이션의 스키마를 관리하기 위한 중앙 집중식 리포지토리를 제공합니다. Azure Schema Registry는 모든 Event Hubs 네임스페이스와 함께 무료로 제공되며 Kafka 애플리케이션 또는 Event Hubs SDK 기반 애플리케이션과 원활하게 통합됩니다.

Diagram that shows Schema Registry and Azure Event Hubs integration.

이벤트 생산자와 소비자 간의 데이터 호환성 및 일관성을 보장합니다. 스키마 레지스트리를 사용하면 원활한 스키마 진화, 유효성 검사 및 거버넌스가 가능하며 효율적인 데이터 교환 및 상호 운용성을 촉진할 수 있습니다.

스키마 레지스트리는 기존 Kafka 애플리케이션과 원활하게 통합되며 Avro 및 JSON 스키마를 비롯한 여러 스키마 형식을 지원합니다.

자세한 내용은 Event Hubs의 Azure 스키마 레지스트리를 참조하세요.

Azure Stream Analytics를 사용하여 스트리밍 이벤트 실시간 처리

Event Hubs는 Azure Stream Analytics와 원활하게 통합되어 실시간 스트림 처리를 가능하게 합니다. 기본 제공 코드가 없는 편집기를 사용하면 코드를 작성하지 않고도 끌어서 놓기 기능을 사용하여 Stream Analytics 작업을 쉽게 개발할 수 있습니다.

Screenshot showing the Process data page with Enable real time insights from events tile selected.

또는 개발자는 SQL 기반 Stream Analytics 쿼리 언어를 사용하여 실시간 스트림 처리를 수행하고 스트리밍 데이터를 분석하기 위한 다양한 함수를 활용할 수 있습니다.

자세한 내용은 목차의 Azure Stream Analytics 통합 섹션에 있는 문서를 참조하세요.

Azure Data Explorer를 사용하여 스트리밍 데이터 탐색

Azure Data Explorer는 고성능을 제공하고 거의 실시간으로 대량의 데이터를 분석할 수 있는 빅 데이터 분석을 위한 완전 관리형 플랫폼입니다. Event Hubs를 Azure Data Explorer와 통합하면 스트리밍 데이터의 거의 실시간 분석 및 탐색을 쉽게 수행할 수 있습니다.

Diagram that shows Azure Data explorer query and output.

자세한 내용은 이벤트 허브에서 Azure Data Explorer로 데이터 수집 및 동일한 섹션의 문서를 참조하세요.

풍부한 에코시스템– Azure 함수, SDK 및 Kafka 에코시스템

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

.NET, Java, Python, JavaScript와 같은 다양한 언어로 제공되는 업계 표준 AMQP 1.0 프로토콜 및 SDK에 사용할 수 있는 광범위한 에코시스템을 제공합니다. Event Hubs에서 스트림 처리를 쉽게 시작할 수 있습니다. 지원되는 모든 클라이언트 언어는 하위 수준 통합을 제공합니다.

또한 에코시스템은 Azure Functions, Azure Spring Apps, Kafka 커넥터, 기타 데이터 분석 플랫폼 및 기술(예: Apache Spark 및 Apache Flink)을 원활하게 통합할 수 있습니다.

유연하고 비용 효율적인 이벤트 스트리밍

표준, 프리미엄, 전용을 비롯한 Event Hubs의 다양한 계층 선택을 통해 유연하고 비용 효율적인 이벤트 스트리밍을 경험할 수 있습니다. 이러한 옵션은 몇 MB/s에서 몇 GB/s에 이르는 데이터 스트리밍 요구 사항을 충족하므로 요구 사항에 가장 적합한 옵션을 선택할 수 있습니다.

확장성

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

장기 보존 및 일괄 처리 분석을 위한 스트리밍 데이터 캡처

Azure Blob Storage 또는 Azure Data Lake Storage에서 데이터를 거의 실시간으로 캡처하여 장기 보존하거나 마이크로 일괄 처리할 수 있습니다. 이 동작은 실시간 분석 파생에 사용하는 것과 동일한 스트림에서 수행할 수 있습니다. 이벤트 데이터의 캡처는 빠르게 설정할 수 있습니다.

Image showing capturing of Event Hubs data into Azure Storage or Azure Data Lake Storage using Managed Identity

작동 방식

Event Hubs는 통합 이벤트 스트리밍 플랫폼에 시간 보존 버퍼를 제공하며, 이벤트 소비자로부터 이벤트 생산자를 분리합니다. 생산자 및 소비자 애플리케이션은 여러 프로토콜을 통해 대규모 데이터 수집을 수행할 수 있습니다.

다음 그림에서는 Event Hubs 아키텍처의 주요 구성 요소를 보여 줍니다.

Diagram that shows the main components of Event Hubs.

Event Hubs의 주요 기능 구성 요소는 다음과 같습니다.

  • 생산자 애플리케이션은 Event Hubs SDK 또는 Kafka 생산자 클라이언트를 사용하여 이벤트 허브에 데이터를 수집할 수 있습니다.
  • 네임스페이스는 하나 이상의 이벤트 허브 또는 Kafka 토픽에 대한 관리 컨테이너입니다. 스트리밍 용량 할당, 네트워크 보안 구성, 지역 재해 복구 사용 등과 같은 관리 작업은 네임스페이스 수준에서 처리됩니다.
  • Event Hub/Kafka 토픽: Event Hubs에서 이벤트를 이벤트 허브 또는 Kafka 토픽으로 구성할 수 있습니다. 하나 이상의 파티션으로 구성될 수 있는 추가 전용 분산 로그입니다.
  • 파티션은 이벤트 허브 크기를 조정하는 데 사용됩니다. 고속도로의 차선과 같습니다. 스트리밍 처리량이 더 필요한 경우 파티션을 더 추가해야 합니다.
  • 소비자 애플리케이션은 이벤트 로그를 검색하고 소비자 오프셋을 유지 관리하여 데이터를 사용할 수 있습니다. 소비자는 Kafka 소비자 클라이언트 또는 Event Hubs SDK 클라이언트일 수 있습니다.
  • 소비자 그룹은 이벤트 허브/Kafka 토픽에서 데이터를 읽는 소비자 인스턴스의 논리적 그룹입니다. 이를 통해 여러 소비자가 각자의 속도와 자체 오프셋을 사용하여 이벤트 허브에서 동일한 스트리밍 데이터를 독립적으로 읽을 수 있습니다.

다음 단계

Event Hubs 사용을 시작하려면 다음 빠른 시작 가이드를 참조하세요.

Event Hubs SDK(AMQP)를 사용하여 데이터 스트리밍

다음 샘플 중 하나를 사용하여 SDK를 통해 Event Hubs로 데이터를 스트리밍할 수 있습니다.

Apache Kafka를 사용하여 데이터 스트리밍

다음 샘플을 사용하여 Kafka 애플리케이션에서 Event Hubs로 데이터를 스트리밍할 수 있습니다.

스키마 레지스트리를 사용하여 스키마 유효성 검사

Event Hubs 스키마 레지스트리를 사용하여 이벤트 스트리밍 애플리케이션에 대한 스키마 유효성 검사를 수행할 수 있습니다.