금융 기관은 초당 엄청난 양의 트랜잭션을 처리해야 합니다. 이러한 거래에는 일반적으로 매우 민감한 데이터가 포함되므로 평소보다 훨씬 더 엄격한 보안, 지연 시간 및 일관성 표준이 필요합니다. 이커머스 구매든 은행 직접 송금이든 모든 거래가 즉각적이고 안전하며 오류 없이 이루어지도록 해야 합니다. 시스템이 따라가지 못해 고객의 결제가 지연되는 상황을 상상해 보셨나요? 고객 불만과 이탈률은 하늘을 찌를 것입니다. 그렇다면 어떻게 고도로 분산되고 지연 시간이 짧으며 전 세계적으로 일관된 시스템을 구축할 수 있을까요?
결제 처리 성능의 중요성
최근 저희 고객 중 한 곳인 대형 국립 은행이 바로 이 데이터 처리 문제에 직면했습니다. 이 은행은 매일 미국 전역의 고객으로부터 시스템을 통해 유입되는 수백만 건의 결제, 송금, 카드 등록 등 엄청난 양의 온라인 거래를 처리하고 있습니다. 이러한 거래는 동기화 상태를 유지해야 했습니다.
뉴욕, 로스앤젤레스 또는 그 사이 어디에서든 이러한 거래를 수집하고 처리할 수 있어야 했습니다. 아주 작은 지연이나 불일치도 결제 실패나 보안 침해로 이어질 수 있습니다. 따라서 요구되는 성능과 데이터 일관성 수준이 어느 정도였는지 짐작할 수 있습니다. 이 시스템은 비즈니스 전체가 의존하는 진정한 미션 크리티컬 시스템이었죠.
이 은행은 5초 이상 지연되면 고객 만족도가 크게 떨어질 수 있기 때문에 빠른 응답 시간이 필요했습니다. Kissmetrics에 따르면 고객의 47%는 2초 이내에 거래가 완료되기를 기대합니다. 지연 시간이 길고 시간 초과가 자주 발생하면 사용자의 불만이 커질 뿐만 아니라 거래 포기로 이어질 수 있습니다. Harris Interactive의 연구에 따르면 모바일 뱅킹 사용자의 66%가 결제 과정 중 문제로 인해 거래를 포기한 경험이 있으며, 특히 36%는 느린 로딩 시간을 거래 포기의 주요 원인으로 꼽아 디지털 뱅킹 서비스에서 속도와 안정성이 매우 중요하다는 점을 강조했습니다. 따라서 지연 시간을 최소화하고 시간 초과를 방지하는 것은 단순히 기술적인 문제일 뿐만 아니라 고객의 신뢰를 유지하기 위해서도 매우 중요한 과제였습니다.
Akamai를 통한 빠르고 안정적인 결제 처리 보장
은행의 요구 사항은 분명했습니다. 일관되게 빠른 성능을 제공할 수 있는 고도로 분산되고 지연 시간이 짧은 시스템을 구축하고자 했습니다. 또한 각 쿼리가 가장 가까운, 가장 성능이 좋은 노드에 도달할 수 있도록 지능적인 요청 라우팅과 함께 글로벌 데이터 일관성을 확보해야 했습니다. 엄청난 양의 민감한 데이터를 처리하고, 이를 긴밀하게 동기화한 다음, 지연 시간을 최소화하고 가용성을 극대화하여 신속하게 제공할 수 있는 솔루션이 필요했습니다.
이를 위해 Akamai의 지능형 Global Traffic Management 초고속 NATS.io 메시징 시스템을 사용했습니다. NATS.io는 클라우드 네이티브 환경에 최적화된 고성능 메시징 시스템으로 효율적인 데이터 배포와 동기화를 지원합니다.
디지털 결제 시스템의 글로벌 일관성과 고성능을 달성하기 위해 NATS.io와 Akamai를 활용하여 이 고객을 위해 구현한 위의 레퍼런스 아키텍처를 살펴보겠습니다.
위에 표시된 1단계에서는 사용자가 디지털 결제 애플리케이션을 통해 거래를 시작하고 애플리케이션이 거래 데이터를 DNS로 전송합니다.
다음으로 DNS는 트랜잭션을 가장 가까운 Akamai 컴퓨팅 리전으로 전송합니다. 그런 다음 트랜잭션 데이터는 HTTPS/NATS 게이트웨이를 통해 선택한 지역의 NATS.io 브로커로 전송됩니다. NATS.io 클러스터는 이 데이터가 100밀리초 미만의 지연 시간으로 시스템 내의 다른 모든 리전으로 전파되어 글로벌 일관성을 유지하도록 보장합니다. 필요한 데이터(예: 사용자 잔액, 거래 내역)는 모든 리전에서 신속하게 검색되고 업데이트됩니다. 트랜잭션이 처리되면 HTTPS/NATS 게이트웨이를 통해 사용자에게 응답이 다시 전송됩니다. DNS는 응답이 최적으로 라우팅되도록 보장하여 사용자에게 트랜잭션 상태에 대한 실시간 피드백을 제공합니다.
이 아키텍처는 성능과 확장성을 향상시킨다는 두 가지 이유로 매우 유용합니다. 이 아키텍처는 성능 기반 DNS 부하 분산과 NATS.io의 고속 전파를 사용하여 실시간 결제 처리에 필수적인 지연 시간이 짧은 응답을 제공합니다. Akamai 컴퓨팅 리전의 분산된 특성으로 인해 하나 이상의 리전에서 문제가 발생하더라도 시스템 가용성을 유지할 수 있습니다.
트랜잭션의 양이 증가함에 따라 추가 컴퓨팅 영역과 NATS.io 브로커를 시스템에 쉽게 통합할 수 있습니다. 이러한 수평적 확장 접근 방식을 통해 시스템은 큰 재설계 없이도 증가하는 부하를 처리할 수 있습니다. 여러 리전으로 부하를 분산함으로써 이 아키텍처는 짧은 지연 시간과 높은 성능을 유지하면서 더 많은 수의 동시 트랜잭션을 지원할 수 있습니다. 이 아키텍처의 확장성의 또 다른 핵심 측면은 최대 부하를 효율적으로 처리하는 능력입니다. 연말 쇼핑 시즌이나 대규모 세일 이벤트와 같이 수요가 많은 기간에는 시스템이 더 많은 리소스를 동적으로 할당하여 트랜잭션의 급증을 관리할 수 있습니다. 이를 통해 사용자는 거래량에 관계없이 일관된 성능을 경험할 수 있습니다.
최적의 성능을 위한 지능형 DNS 기반 부하 분산
이 솔루션을 설계한 후 고객을 위해 테스트를 진행했습니다. 1억 개의 키로 구성된 샘플 데이터 세트를 생성하여 핵심 컴퓨팅 리전 중 하나에 있는 고가용성 NATS.io 클러스터에 로드했습니다.
핵심은 위 그림과 같이 기본 Akamai 컴퓨팅 리전에 구축된 3노드 NATS.io 클러스터로, 이중화 및 고가용성을 제공합니다. 다음으로, 북미 전역의 10개의 별도 Akamai 컴퓨팅 리전에 구축된 단일 리프 노드 NATS.io 머신을 추가했습니다. NATS.io 노드를 Akamai의 글로벌 엣지 네트워크에 분산 배치함으로써 데이터를 최종 사용자에게 더 가깝게 전송하여 지연 시간을 단축할 수 있습니다.
분산된 각 NATS 노드에는 보안 HTTPS 게이트웨이가 함께 배포되어 있어 애플리케이션이 표준 웹 프로토콜을 사용하여 고속 데이터 파이프라인과 인터페이스할 수 있습니다. 복잡한 통합이 필요하지 않습니다. 하지만 진정한 마법은 글로벌 엣지 네트워크와 부하 분산 기능을 활용한 방식에 있습니다. 고객이 결제를 하거나 새 카드를 등록할 때 Akamai의 Global Traffic Management 에서는 지능형 DNS 기반 부하 분산 기능을 활용하여 가장 가깝고 성능이 가장 우수한 Akamai 컴퓨팅 리전으로 사용자를 라우팅합니다.
이렇게 하면 사용자가 항상 가장 가까운 사용 가능한 노드에 연결되어 대기 시간을 최소화하고 고가용성을 제공할 수 있습니다. 부하 분산은 사용자 위치, 네트워크 상태, 노드 상태와 같은 요소를 고려하여 라우팅을 결정합니다. 따라서 고객은 중앙 집중식 데이터베이스에 도달하기 위해 인터넷과 여러 홉을 통과할 필요 없이 몇 밀리초 만에 데이터가 이미 준비되어 있고 로컬로 이동할 준비가 된 분산형 NATS 인스턴스에 도달할 수 있습니다. 이 지연 시간이 짧은 솔루션은 분산된 NATS.io 노드를 통해 데이터가 최종 사용자에게 더 가까이 전달되도록 보장하며, 지능적인 라우팅을 통해 요청이 가장 가까운 사용 가능한 노드에 도달하도록 보장합니다. 또한 NATS.io 메시징 시스템은 모든 노드에서 100ms 이내의 짧은 시간 내에 데이터를 동기화하여 글로벌 데이터 일관성을 제공합니다.
최종 결과
이 강력한 솔루션은 전 세계에 분산된 Akamai의 엣지 네트워크, 지능형 트래픽 관리, NATS.io 메시징 시스템을 통합하여 트래픽에 관계없이 탁월한 성능을 제공합니다. 이 은행은 Akamai로 전환한 후 디지털 결제 사업자와의 60밀리초 SLA 기간을 지속적으로 준수하여 변동성을 없애고 워크플로우를 가속화했습니다. 이러한 변화는 디지털 결제 사업자의 엄격한 SLA 준수를 개선했을 뿐만 아니라 안정적이고 빠른 트랜잭션 처리로 전반적인 고객 경험을 향상시켰습니다. 이 사용 사례는 디지털 결제 솔루션을 지원하는 데 적합한 인프라 선택의 중요한 역할과 고객 신뢰 유지에 미치는 영향력을 강조합니다.
지연 시간이 짧은 시스템을 구현하고 싶으시다면 언제든지 문의해 주세요! 또는 최대 5,000달러의 크레딧을 신청하여 현재 인프라를 Linode로 마이그레이션할 수 있습니다.
내용