솔루션 아이디어
이 문서는 솔루션 아이디어 설명입니다. 클라우드 설계자는 이 지침을 사용하여 이 아키텍처의 일반적인 구현을 위한 주요 구성 요소를 시각화할 수 있습니다. 이 문서를 시작점으로 사용하여 워크로드의 특정 요구 사항에 맞는 잘 설계된 솔루션을 디자인할 수 있습니다.
이 문서에서는 데이터 스트림을 수집하고 처리한 다음, 데이터베이스에 결과를 쓰는 가상 네트워크의 서버리스 이벤트 기반 아키텍처를 설명합니다.
아키텍처
데이터 흐름
- VNet 통합은 모든 Azure 리소스를 Azure 프라이빗 엔드포인트 뒤에 배치하는 데 사용됩니다.
- 이벤트가 입력 이벤트 허브에 도착합니다.
- 이벤트 처리를 위해 Azure Function에 대한 일괄 처리 제거 및 필터링이 트리거됩니다. 이 단계에서는 출력 이벤트 허브에 제출하기 전 원치 않는 이벤트를 필터링하고 수신된 이벤트에서 일괄 처리를 제거합니다.
- Azure Function 일괄 처리 제거 및 필터링으로 이벤트를 성공적으로 저장하지 못하면 이벤트가 Deadletter Event Hub 1에 제출됩니다.
- 출력 이벤트 허브에 도착하는 이벤트가 Transforming Azure Function을 트리거합니다. 이 Azure Function은 이벤트를 Azure Cosmos DB 인스턴스에 대한 메시지로 변환합니다.
- 이벤트가 Azure Cosmos DB 데이터베이스에 저장됩니다.
- Transforming Azure Function이 이벤트를 성공적으로 저장하지 못하면 이벤트가 Deadletter Event Hub 2에 저장됩니다.
참고
간단히 하기 위해 서브넷은 다이어그램에 표시되지 않습니다.
구성 요소
- Azure 프라이빗 엔드포인트는 Azure Private Link를 기반으로 하는 서비스에 비공개로 안전하게 연결하는 네트워크 인터페이스입니다. 프라이빗 엔드포인트는 VNet의 프라이빗 IP 주소를 사용하여 서비스를 VNet으로 효과적으로 가져옵니다.
- Event Hubs에서 데이터 스트림을 수집합니다. Event Hubs는 높은 처리량 데이터 스트리밍 시나리오를 위해 설계되었습니다.
- Azure Functions는 서버리스 컴퓨팅 옵션입니다. 트리거를 통해 코드(함수)가 호출되는 이벤트 구동 모델을 사용합니다.
- Azure Cosmos DB는 서버리스 소비 기반 모드에서 사용할 수 있는 다중 모델 데이터베이스 서비스입니다. 이 시나리오의 경우 이벤트 처리 함수가 Azure Cosmos DB for NoSQL을 사용하여 JSON 레코드를 저장합니다.
시나리오 정보
이 솔루션 아이디어에서는 데이터 스트림을 수집하고, 데이터를 처리하고, 결과를 백 엔드 데이터베이스에 기록하는 서버리스 이벤트 기반 아키텍처의 변형을 보여 줍니다. 이 예제에서 솔루션은 프라이빗 엔드포인트 뒤에 있는 모든 Azure 리소스가 있는 가상 네트워크 내에서 호스트됩니다.
서버리스 이벤트 처리의 기본 개념, 고려 사항 및 접근 방법에 대한 자세한 내용은 서버리스 이벤트 처리 참조 아키텍처를 확인하세요.
잠재적인 사용 사례
엔드투엔드 이벤트 스트림 처리 패턴을 구현하기 위한 인기 있는 사용 사례에는 Event Hubs에서 트리거되는 확장성이 높은 기능으로 구현된 일괄 처리 제거 및 변환 논리를 사용하여 초당 이벤트를 수신하고 처리하는 Event Hubs 스트리밍 수집 서비스가 포함됩니다.
참가자
Microsoft에서 이 문서를 유지 관리합니다. 원래 다음 기여자가 작성했습니다.
보안 주체 작성자:
- Rajasa Savant | 선임 소프트웨어 개발 엔지니어
비공개 LinkedIn 프로필을 보려면 LinkedIn에 로그인하세요.
다음 단계
- 프라이빗 엔드포인트 연결 관리
- 프라이빗 엔드포인트 빠른 시작 가이드:
- Azure Event Hubs 설명서
- Azure Functions 소개
- Azure Functions 설명서 리소스를 참조하세요.
- Azure Cosmos DB 개요
- Azure Cosmos DB에서 API 선택
관련 참고 자료
- 서버리스 이벤트 처리는 코드 샘플 및 중요한 고려 사항에 대한 논의와 함께 이 유형의 일반적인 아키텍처를 자세히 설명하는 참조 아키텍처입니다.
- 이벤트 스트림 처리의 Azure Kubernetes는 KEDA 스케일러를 사용하여 Azure Kubernetes에서 실행되는 다양한 서버리스 이벤트 기반 아키텍처의 변형에 대해 설명합니다.