Azure 솔루션 전체에서 이벤트 및 메시지를 배달하기 위한 여러 서비스를 제공합니다. 각 서비스는 반응형 이벤트 라우팅에서 높은 처리량 스트리밍, 엔터프라이즈급 트랜잭션 메시징에 이르기까지 다양한 시나리오를 대상으로 합니다.
이 문서에서는 다음 서비스를 비교합니다.
후보 서비스 선택
이 섹션은 요구 사항에 가장 적합한 서비스를 선택하는 데 도움이 됩니다.
다음 표를 사용하여 시나리오에 맞는 서비스를 빠르게 좁힐 수 있습니다.
| 조건 | 이벤트 그리드 (Event Grid) | 이벤트 허브 (Event Hubs) | 서비스버스 |
|---|---|---|---|
| 기본 용도 | 반응형 이벤트 라우팅 | 빅 데이터 스트리밍 및 수집 | 엔터프라이즈 트랜잭션 메시징 |
| 데이터 모델 | 이벤트(개별 알림) | 이벤트 스트림(시간 순서가 지정된 시리즈) | 메시지(고가용성 페이로드) |
| 배달 보장 | 한 번 이상 | 한 번 이상 | 한 번 이상(선택적 순서 지정, 세션 사용 시 정확히 한 번) |
| 사용 시기 | 상태 변경, 서버리스 아키텍처에 대응 | 원격 분석, 분산 데이터 스트리밍, 실시간 분석 | 주문 처리, 재무 트랜잭션, 워크플로 |
이 섹션의 결과는 고려의 시작점입니다. 다음 섹션을 사용하여 서비스에 대한 자세한 평가를 수행합니다.
Azure 메시징 서비스의 이벤트 및 메시지
이벤트를 제공하는 Azure 서비스와 메시지를 전달하는 서비스 간에는 중요한 차이점이 있습니다.
이벤트: 조건 또는 상태 변경에 대한 간단한 알림입니다. 게시자는 이벤트가 처리되는 방식에 대해 전혀 기대하지 않습니다. 이벤트는 불연속(실행 가능한 상태 변경 보고) 또는 시간 순서가 지정된 계열의 일부일 수 있습니다(분석 가능한 조건 보고). 불연속 이벤트는 크기를 조정해야 하는 서버리스 솔루션에 이상적입니다.
메시지: 다른 곳에서 사용하거나 저장하기 위해 서비스에서 생성한 원시 데이터입니다. 메시지는 메시지 파이프라인을 트리거한 데이터를 포함합니다. 게시자와 소비자 사이에 계약이 있습니다. 예를 들어 게시자는 원시 데이터가 포함된 메시지를 보내고, 작업이 완료되면 소비자가 해당 데이터에서 파일을 만들고 응답을 보낼 것으로 예상합니다.
확장성 및 처리량
다음 표에서는 Azure Event Grid, Azure Event Hubs 및 Azure Service Bus 확장성 및 처리량을 처리하는 방법을 비교합니다.
| 조건 | 이벤트 그리드 (Event Grid) | 이벤트 허브 (Event Hubs) | 서비스버스 |
|---|---|---|---|
| Throughput | 동적으로 확장 가능하고 서버리스 | 초당 수백만 개의 이벤트 | 신뢰할 수 있는 비동기 배달 |
| 대기 시간 모델 | 거의 실시간 이벤트 배달 | 짧은 대기 시간 스트리밍 | 선택적 롱 폴링을 사용하는 브로커 방식 |
| 모델 크기 조정 | 자동 (서버리스) | 처리량 단위/처리 단위 | 메시지 단위 (프리미엄) |
메시징 기능
다음 표에서는 Azure Event Grid, Azure Event Hubs 및 Azure Service Bus 메시징 기능을 비교합니다.
| 조건 | 이벤트 그리드 (Event Grid) | 이벤트 허브 (Event Hubs) | 서비스버스 |
|---|---|---|---|
| 프로토콜 | MQTT, HTTP | AMQP, Kafka, HTTP | AMQP, HTTP |
| Pub/Sub | 예(게시-구독) | 예(소비자 그룹) | 예(토픽 및 구독) |
| 순서 지정 | 보장 없음 | 파티션당 | FIFO (세션) |
| 트랜잭션 | No | No | 예 |
| 중복 검색 | No | No | 예 |
| 데드 레터 처리 | 예 | No | 예 |
| 일괄 처리 | 예 | 예(이벤트 일괄 처리) | 예(세션) |
| 캡처/재생 | No | 예(Event Hubs 캡처) | No |
통합 및 배포
다음 표에서는 Azure Event Grid, Azure Event Hubs 및 Azure Service Bus 대한 통합 및 배포 옵션을 비교합니다.
| 조건 | 이벤트 그리드 (Event Grid) | 이벤트 허브 (Event Hubs) | 서비스버스 |
|---|---|---|---|
| Azure 서비스 통합 | Azure 서비스 및 타사 서비스와의 긴밀한 통합 | 스트림 처리 인프라 및 분석 서비스 | 엔터프라이즈 애플리케이션, 하이브리드 클라우드, 온-프레미스 연결 |
| 버전 | Azure Event Grid (PaaS), Azure Arc 지원 Kubernetes의 Event Grid | 표준, 프리미엄, 전용 | 베이직, 스탠다드, 프리미엄 |
Event Grid, Event Hubs 및 Service Bus 함께 사용
경우에 따라 고유한 역할을 수행하기 위해 서비스를 함께 사용합니다. 예를 들어 전자 상거래 사이트는 Service Bus 사용하여 주문을 처리하고, Event Hubs를 사용하여 사이트 원격 분석을 캡처하고, Event Grid를 사용하여 배송되는 항목과 같은 이벤트에 응답할 수 있습니다.
다른 경우에서는 함께 연결하여 이벤트 및 데이터 파이프라인을 형성합니다. Event Grid를 사용하여 다른 서비스에서 이벤트에 응답합니다. Event Hubs와 함께 Event Grid를 사용하여 Azure Synapse Analytics로 데이터를 마이그레이션하는 예제는 Azure Synapse Analytics로 빅 데이터 스트림을 참조하세요. 다음 이미지는 데이터 스트리밍에 대한 워크플로를 보여 줍니다.