대량 일괄 트랜잭션 처리

AKS(Azure Kubernetes Service)
Azure Service Bus
Azure Virtual Machines

아키텍처는 AKS를 사용하여 트랜잭션의 대량 일괄 처리를 처리하는 애플리케이션의 컴퓨팅 클러스터를 구현합니다. 애플리케이션은 Service Bus 토픽 또는 큐의 메시지에서 트랜잭션을 받습니다. 토픽 및 큐는 서로 다른 지리적 지역의 Azure 데이터 센터에 있을 수 있으며 여러 AKS 클러스터에서 입력을 읽을 수 있습니다.

참고

이 아키텍처는 IBM 메인프레임에서 메시지 지향 미들웨어의 IBM MQ 제품군을 사용하여 구현되는 일괄 트랜잭션 처리 유형에 적합합니다.

아키텍처

Diagram of an architecture implemented by using AKS and Service Bus.

이 아키텍처의 Visio 파일을 다운로드합니다.

워크플로

다이어그램에서 번호가 매겨진 원은 다음 목록에서 번호가 매겨진 단계에 해당합니다.

  1. 아키텍처는 Service Bus 토픽 및 큐를 사용하여 일괄 처리 입력을 구성하고 처리를 위해 다운스트림으로 전달합니다.
  2. 계층 4(TCP, UDP) 부하 분산 장치인 Azure Load Balancer는 부하 분산 집합에 정의된 정상적인 서비스 인스턴스 간에 들어오는 트래픽을 분산합니다. 부하 분산 및 연결 관리는 처리를 최적화합니다.
  3. AKS 클러스터 작업자 노드는 Service Bus 큐 엔드포인트의 입력을 수신 대기합니다.
  4. Java 노드는 Java Message Service를 사용하여 Service Bus에 연결하고 Java Database Connectivity와 같은 Java 인터페이스를 사용하여 다른 데이터 소스에 연결합니다. 필요에 따라 다른 Java API를 사용합니다.
  5. 복구 가능한 트랜잭션은 각 일괄 처리 단계에 대한 비즈니스 코드와 함께 실행됩니다.
  6. 일괄 처리 인프라는 Azure 가속 네트워킹을 사용하여 속도를 향상합니다.
  7. Azure Cache for Redis, Azure Cosmos DB 및 Azure Stream Analytics는 필요한 경우 작업 스토리지를 제공합니다.
  8. 영구 데이터 계층은 데이터 통합을 위해 Azure Data Factory를 사용하고, 고가용성을 위해 비즈니스 크리티컬 성능 계층인 Azure SQL Managed Instance를 사용합니다. 영구 스토리지는 느슨하게 결합되어 다른 데이터베이스 기술로 쉽게 전환하고 스토리지 구성을 최적화합니다(예: 분할 또는 파티션 사용).
  9. 데이터 솔루션(전환 및 영구)은 Azure Storage GRS(지역 중복 스토리지) 옵션을 사용하여 치명적인 오류로부터 보호합니다.

구성 요소

아키텍처는 다음 구성 요소를 사용합니다.

  • Azure Virtual Network는 클라우드에서 안전한 프라이빗 네트워크를 제공합니다. VM(가상 머신)을 서로, 인터넷 및 온-프레미스 네트워크에 연결할 수 있습니다.
  • Azure ExpressRoute는 Azure 데이터 센터와 온-프레미스 인프라 사이의 프라이빗 연결을 제공합니다.
  • Azure Bastion은 VM에 대한 비공개의 완전 관리형 RDP 및 SSH 액세스를 제공합니다.
  • Azure Virtual Machines는 가상화를 호스트하는 하드웨어를 제공하고 유지 관리할 필요 없이 가상화의 유연성을 제공합니다. 운영 체제는 Windows와 Linux 중에서 선택할 수 있습니다.
  • 가속화된 네트워킹으로 만들어진 VM은 SR-IOV(단일 루트 I/O 가상화)를 사용하여 네트워킹 성능을 크게 향상시킵니다. 자세한 내용은 Azure PowerShell을 사용하여 가속화된 네트워킹으로 Windows VM 만들기SR-IOV(단일 루트 I/O 가상화) 개요를 참조하세요.
  • Azure 네트워크 인터페이스는 VM을 인터넷, Azure 및 온-프레미스 리소스에 연결합니다. 이 아키텍처에 표시된 대로 각 자식 VM에 고유한 네트워크 인터페이스와 IP 주소를 제공할 수 있습니다. 네트워크 인터페이스에 대한 자세한 내용은 네트워크 인터페이스 만들기, 변경 또는 삭제를 참조하세요.
  • Azure Managed Disks는 VM을 위한 고성능의 내구성이 뛰어난 블록 스토리지입니다. 클라우드에는 Ultra Disk Storage, Premium SSD, Standard SSD 및 Standard HDD의 4가지 디스크 스토리지 옵션이 있습니다.
  • AKS(Azure Kubernetes Service)는 컨테이너화된 애플리케이션을 배포하고 관리하기 위한 완전 관리형 Kubernetes 서비스입니다.
  • Service Bus는 안정적인 MaaS(Cloud Messaging as a Service) 및 간단한 하이브리드 통합을 제공합니다.
  • Azure 부하 분산 서비스는 고가용성 및 고성능의 크기를 조정합니다. 이 아키텍처는 Load Balancer를 사용합니다. 낮은 대기 시간이 짧은 계층 4(TCP, UDP) 부하 분산 기능을 제공하여 VM 간 및 다중 계층 하이브리드 앱 간에 트래픽을 분산합니다.
  • Azure Cache for Redis는 컴퓨팅 리소스 간에 데이터와 상태를 공유하기 위한 초고속 완전 관리형 메모리 내 캐싱 서비스입니다.
  • Azure Cosmos DB는 모든 규모의 개방형 API가 포함된 고속 NoSQL 데이터베이스입니다.
  • Azure Stream Analytics는 애플리케이션 및 디바이스에서 빠르게 이동하는 데이터 스트림에 대한 실시간 분석을 제공합니다.
  • Azure Databricks는 Apache SparkTM를 기반으로 하는 빠르고 쉬운 협업 빅데이터 분석 서비스입니다.
  • Azure SQL은 전체 SQL 포트폴리오에 대한 통합 환경과 에지에서 클라우드에 이르는 다양한 배포 옵션을 제공하는 SQL 클라우드 데이터베이스 제품군입니다.
  • Azure SQL 서비스 포트폴리오의 일부인 Azure SQL Managed Instance는 클라우드에서 관리되고 안전하며 항상 최신 상태를 유지하는 SQL 인스턴스입니다.
  • Data Factory는 모든 데이터를 대규모로 준비하고 변환하기 위한 완전 관리형 서버리스 데이터 통합 솔루션입니다.
  • Data Factory는 Parquet 파일 데이터 형식을 지원합니다. Parquet에 대한 자세한 내용은 Azure Data Factory의 Parquet 형식을 참조하세요.
  • Log Analytics는 Azure Portal에서 Azure Monitor 로그의 로그 쿼리를 편집하고 실행하는 데 사용되는 도구입니다. 자세한 내용은 Azure Monitor의 Log Analytics 개요를 참조하세요.
  • Azure Storage의 GRS(지리적 중복 스토리지) 옵션은 주 지역의 단일 물리적 위치 내에서 데이터를 동기적으로 세 번 복사한 다음, 보조 지역의 단일 물리적 위치에 비동기적으로 복사합니다. 자세한 내용은 Azure Storage 중복성을 참조하세요.
  • Azure Blob Storage는 클라우드 네이티브 워크로드, 보관, 데이터 레이크, 고성능 컴퓨팅 및 기계 학습을 위한 확장 가능하고 안전한 REST 기반 개체 스토리지입니다.
  • Azure Files는 클라우드에서 간단하고 안전한 서버리스 엔터프라이즈급 파일 공유를 제공합니다. 업계 표준 SMB(서버 메시지 블록) 및 NFS(네트워크 파일 시스템) 프로토콜을 사용하여 공유에 액세스합니다.

시나리오 정보

Azure에서는 AKS(Microsoft Azure Kubernetes Service) 및 Azure Service Bus를 기반으로 하는 아키텍처를 사용하여 계정에 결제 게시와 같은 일괄 트랜잭션 처리를 구현할 수 있습니다. 이 유형의 아키텍처는 대량 일괄 처리에 필요한 트랜잭션 처리 속도, 크기 조정 및 안정성을 제공합니다.

일반적으로 메시지는 트랜잭션이 완료될 때까지 큐에 남아 있어 오류가 발생하면 복구할 수 있습니다. 또한 토픽 및 큐를 다른 지역에 복제하여 워크로드를 공유하고 한 지역에 장애가 발생하더라도 계속 처리할 수 있습니다.

잠재적인 사용 사례

이 솔루션은 금융, 교육 및 과학 업계에 이상적입니다. 이 아키텍처는 트랜잭션의 대량 일괄 처리, 특히 병렬로 처리할 수 있는 독립적인 트랜잭션을 위한 것입니다. 따라서 메인프레임 일괄 처리를 마이그레이션하는 데 사용할 가능성이 높습니다. 가능한 애플리케이션은 다음과 같습니다.

  • 급여, 주문 및 결제와 같은 금융 거래 처리.
  • 과학 계측기에서 수집한 실험적 데이터 처리.
  • 기타 메인프레임 일괄 처리.

고려 사항

Azure Well-Architected Framework에 따라 다음 고려 사항이 이 솔루션에 적용됩니다.

가용성

  • Azure Site Recovery 재해 복구 서비스는 주요 중단으로부터 보호합니다. 이 서비스는 신뢰할 수 있고 비용 효율적이며 배포하기 쉽습니다.
  • VM의 가용성 집합을 사용하면 중요 업무용 일괄 처리 프로세스 요구를 충족하기에 충분한 VM을 사용할 수 있도록 합니다.
  • Service Bus, AKS 및 Azure SQL Managed Instance는 지리적 지역에 걸쳐 고가용성 및 복구 기능을 제공합니다.

작동

성능 효율성

  • 이 아키텍처는 독립 트랜잭션의 병렬 처리를 수용하도록 설계되었습니다.
  • Service Bus, AKS 및 기타 Azure PaaS 기능은 트랜잭션 처리, 컴퓨팅 및 데이터 스토리지를 위한 성능을 높입니다.

확장성

  • Service Bus, AKS 및 기타 Azure PaaS 기능은 필요에 따라 동적으로 확장됩니다.

보안

  • Service Bus 일괄 처리 아키텍처 내의 모든 구성 요소는 Microsoft Entra ID, Virtual Network 및 암호화와 같은 Azure 보안 구성 요소에서 작동합니다.

비용 최적화

이 솔루션 구현 비용을 예상하려면 가격 계산기를 사용하세요.

AKS 클러스터의 자동 크기 조정 기능 및 주문형 크기 조정을 제공하는 기타 Azure PaaS(Platform as a Service) 기능은 비용을 최소로 유지합니다.

특정 구성 요소에 대한 가격 책정 고려 사항은 다음과 같습니다.

  • 대부분의 기업에는 이미 Microsoft Active Directory가 구현되어 있습니다. 그렇지 않은 경우 Microsoft Entra ID P1 또는 P2 는 저렴한 비용입니다.
  • Windows VM 가격 책정Linux VM 가격 책정은 컴퓨터 용량에 따라 다릅니다.
  • 프리미엄 SSD 또는 Ultra 관리 스토리지 디스크 가격 책정은 Managed Disks 가격 책정을 참조하세요.
  • Azure SQL Database에는 선결제 비용이 없으며 사용된 리소스에 대해 비용을 지불합니다.
  • ExpressRoute의 경우 월별 포트 요금 및 아웃바운드 데이터 전송 요금이 부과됩니다.
  • Azure Storage 비용은 데이터 중복 옵션 및 볼륨에 따라 달라집니다.
  • Azure Files 가격 책정은 데이터 볼륨, 데이터 중복성, 트랜잭션 볼륨, 사용하는 파일 동기화 서버 수와 같은 여러 요인에 따라 달라집니다.
  • SSD 관리 디스크 가격 책정은 관리 디스크 가격 책정을 참조하세요.
  • Site Recovery의 경우 보호된 각 인스턴스에 대해 비용을 지불합니다.
  • 이러한 서비스는 Azure 구독에서 무료이지만 사용량 및 트래픽에 대한 요금을 지불합니다.

다음 단계