Azure Event Hubs 선택

완료됨

거의 그만큼 많은 원본에서 대량의 이벤트를 생성하는 특정 애플리케이션이 있습니다. 이러한 상황에 적용되는 "빅 데이터"라는 용어를 종종 듣게 되며, 이를 처리하려면 고유한 인프라가 필요합니다.

여러분이 Contoso Aircraft Engines에서 근무한다고 가정해 봅시다. 고용주가 제조하는 엔진에는 수백 개의 센서가 포함됩니다. 매일 아침 항공기를 비행하기 전에 먼저 엔진을 테스트 도구에 연결하여 잘 작동하는지 알아봅니다. 또한 항공기가 지상 장비에 연결되면 캐시된 운항 데이터가 스트리밍됩니다.

여러분은 기록 센서 데이터를 사용하여 엔진 실패가 곧 발생할 수 있음을 나타내는 패턴을 센서 판독값에서 찾으려고 합니다. 이러한 실패 패턴에 실시간 센서 판독값을 비교하려고 합니다. 그런 다음, 엔진이 걱정스러운 판독값을 표시하는 경우 거의 실시간으로 사용자에게 경고할 수 있습니다.

Azure Event Hubs란?

Event Hubs는 게시-구독 통신 패턴에 대한 중간자입니다. 그러나 Event Grid와 달리 극히 높은 처리량, 다수의 게시자, 보안, 복원력에 최적화되어 있습니다.

Event Grid는 단순히 구독을 관리하고 통신을 해당 구독자에게 라우팅한다는 점에서 게시-구독 패턴에 완벽하게 적합하지만, Event Hubs는 상당수의 추가 서비스를 수행합니다. 이러한 추가 서비스 때문에 단순 이벤트 브로드캐스터보다는 서비스 버스 또는 메시지 큐와 더 비슷합니다.

파티션

Event Hubs는 통신을 수신하면 통신을 파티션으로 나눕니다. 파티션은 통신이 저장되는 버퍼입니다. 이벤트 버퍼로 인해 이벤트는 삭제되지 않고, 구독자가 약속이 있거나 오프라인 상태이더라도 이벤트를 놓치지 않습니다. 구독자는 항상 버퍼를 사용하여 “따라잡습니다”. 기본적으로 이벤트는 24시간 동안 버퍼에서 유지된 후 자동으로 만료됩니다. 데이터가 파티션 사이에 나뉘므로 버퍼를 파티션이라고 합니다. 각 파티션에는 개별 구독자 세트가 있습니다.

캡처

Event Hubs는 저렴한 영구 지속성을 위해 모든 이벤트를 Azure Data Lake 또는 Azure Blob Storage에 즉시 보낼 수 있습니다.

인증

모든 게시자가 인증되고 토큰을 발급했습니다. 즉, Event Hubs는 사기성 데이터가 분석을 망칠 수 있다는 걱정 없이 외부 디바이스 및 모바일 앱에서 이벤트를 수락할 수 있습니다.

Event Hubs 사용

Event Hubs는 다른 Azure 서비스에 대한 이벤트 스트림을 파이프라인하는 작업을 지원합니다. 인스턴스에 Azure Stream Analytics와 함께 사용하면 여러 이벤트를 상호 연결하고 패턴을 검색하는 기능을 통해 거의 실시간으로 데이터의 복잡한 분석을 수행할 수 있습니다. 이 경우 Stream Analytics는 구독자로 간주됩니다.

항공기 엔진의 경우 Event Hubs가 엔진의 통신을 인증하도록 아키텍처를 설정합니다. 그런 다음, 캡처를 사용하여 데이터를 모두 Azure Data Lake에 저장합니다. 나중에 해당 데이터를 모두 사용하여 기계 학습 모델을 다시 학습시키고 개선할 수 있습니다. 마지막으로 Stream Analytics 구독자는 이벤트 스트림을 선택합니다. Stream Analytics는 기계 학습 모델을 사용하여 문제를 나타낼 수 있는 센서 데이터에서 패턴을 검색합니다.

여러 파티션이 있고 각 엔진은 모든 데이터를 하나의 파티션에만 보내므로, Stream Analytics 구독자의 각 인스턴스는 전체 데이터의 하위 집합을 처리하기만 하면 됩니다. 모든 데이터를 필터링 및 상호 연결할 필요가 없습니다.

어떤 서비스를 선택해야 할까요?

큐 선택과 마찬가지로, 이러한 두 이벤트 전송 서비스 중에 무엇을 선택해야 할지 처음에는 어렵게 보일 수 있습니다. 두 서비스 모두 하나 이상의 의미 체계를 지원합니다.

다음과 같은 경우에는 Event Hubs를 선택합니다.

  • 게시자 대규모 인증을 지원해야 합니다.
  • Data Lake 또는 Blob 스토리지에 이벤트 스트림을 저장해야 합니다.
  • 이벤트 스트림에 대한 집계 또는 분석이 필요합니다.
  • 신뢰할 수 있는 메시징 또는 복원력이 필요합니다.

그렇지 않으면, 신뢰할 수 있는 게시자(예: 고유한 웹 서버의 인스턴스)를 사용하는 간단한 이벤트 게시-구독 인프라가 필요한 경우 Event Grid를 선택해야 합니다.

Event Hubs를 사용하면 초당 수백만 개의 이벤트를 처리할 수 있고 대기 시간이 짧은 빅 데이터 파이프라인을 빌드할 수 있습니다. 동시 원본의 데이터를 처리하여 다양한 스트림 처리 인프라 및 분석 서비스에 전달할 수 있습니다. 실시간 처리가 가능하고 저장된 원시 데이터의 반복 재생을 지원합니다.