제한된 국가에서의 제3자 API 통합 시 발생하는 문제점
요약
아프리카 일부 국가의 규제와 인터넷 제한으로 인해 PayPal, Stripe 등 글로벌 API 사용이 불가능한 문제를 해결하기 위한 기술적 여정을 다룹니다. API 게이트웨이와 VPN을 통한 우회 시도가 지연 시간과 차단 문제로 실패한 후, 자체 결제 게이트웨이 구축과 분산 아키텍처 도입을 통해 성능과 매출을 획기적으로 개선한 사례를 소개합니다.
핵심 포인트
- 글로벌 API 서비스가 차단된 환경에서는 단순 프록시나 VPN 우회 방식이 지연 시간 및 ISP 차단 문제로 인해 효과적이지 않을 수 있음
- 현지 은행 및 모바일 결제 시스템을 결합한 자체 결제 게이트웨이 개발이 실질적인 해결책이 될 수 있음
- 분산 아키텍처와 강력한 캐싱 레이어 도입을 통해 응답 시간을 70% 감소시키고 서비스 안정성을 확보함
- 기술적 구현에 앞서 현지 규제와 네트워크 환경에 대한 철저한 사전 조사와 점진적인 테스트가 필수적임
우리가 실제로 해결하려 했던 문제
우리 회사는 탄자니아의 디지털 크리에이터들이 온라인에서 제품을 판매할 수 있도록 지원하고 싶었습니다. 간단해 보이죠? 하지만 더 깊이 파고들었을 때, 현실은 훨씬 더 복잡하다는 것을 깨달았습니다. 많은 아프리카 국가에서는 현지 규제나 인터넷 제한으로 인해 PayPal, Stripe, Shopify와 같은 인기 있는 이커머스 (e-commerce) 플랫폼들이 차단되어 있습니다. 이로 인해 크리에이터들은 결제를 받거나, 제품을 배송하거나, 심지어 분석 (analytics) 및 마케팅 소프트웨어와 같은 필수 도구에 접근하는 것조차 불가능했습니다.
우리가 처음 시도했던 것 (그리고 실패한 이유)
우리는 처음에 이러한 제한을 우회하기 위해 인기 있는 API 게이트웨이 (API gateway) 서비스를 사용하려고 시도했습니다. 단순히 프록시 (proxy)를 통해 트래픽을 라우팅하기만 하면 해결될 것 같은 간단한 해결책처럼 보였습니다. 하지만 흔히 그렇듯, 낙관론이 문제에 대한 우리의 이해를 앞질렀습니다. API 게이트웨이는 심각한 지연 시간 (latency) 문제를 일으켰고, 이는 우리 플랫폼의 응답 시간을 30% 증가시키는 결과를 초래했습니다. 크리에이터들은 좌절했고, 우리 팀은 머리를 싸매야 했습니다.
또한 우리는 제한을 우회하기 위해 VPN 서비스를 사용하는 것도 시도했습니다. 확실한 계획처럼 들리죠? 틀렸습니다. 우리는 곧 크리에이터들의 인터넷 서비스 제공업체 (ISP)가 VPN 트래픽을 공격적으로 차단하고 있다는 사실을 발견했으며, 이로 인해 그들이 안정적인 연결을 구축하는 것이 불가능해졌습니다. 우리 팀은 디버깅 (debugging)에 수많은 시간을 보냈지만, 결국 우리가 처음에 생각했던 것보다 훨씬 더 강력한 적과 맞서고 있다는 사실을 깨달았을 뿐입니다.
아키텍처 결정
수개월간의 시행착오 끝에, 우리는 마침내 다른 접근 방식을 취하기로 결정했습니다. 우리는 현지 은행과 모바일 결제 시스템을 결합하여 크리에이터들이 결제를 받을 수 있도록 하는 자체 결제 게이트웨이 (payment gateway)를 개발했습니다. 또한 Matomo와 같은 오픈 소스 (open-source) 도구를 활용하여 크리에이터들에게 판매 및 고객 행동에 대한 가치 있는 통찰력을 제공하는 자체 분석 플랫폼을 구축했습니다. 하지만 우리가 내린 가장 결정적인 결정은 여러 지역에 걸쳐 여러 노드 (nodes)를 분산시킨 분산 아키텍처 (distributed architecture)를 사용하는 것이었습니다.
이는 하나 이상의 노드 (nodes)가 차단되더라도 우리 플랫폼의 접근성을 유지할 수 있도록 보장했습니다. 또한 지연 시간 (latency)을 줄이고 응답 시간 (response times)을 개선하기 위해 강력한 캐싱 레이어 (caching layer)를 구현했습니다. 결과가 보여준 수치: 결과는 놀라움 그 자체였습니다. 우리 플랫폼의 응답 시간은 70% 감소했고, 크리에이터들의 매출은 무려 300% 증가했습니다. 또한 크리에이터들이 성공에 필요한 도구와 정보에 접근할 수 있게 됨에 따라 고객 지원 티켓 (support tickets)의 수도 크게 감소했습니다. 내가 다르게 했을 점: 돌이켜보면, 개발에 무작정 뛰어들기 전에 현지 규제와 인터넷 제한 사항에 대해 더 많은 조사를 수행했을 것입니다. 또한 전체 플랫폼을 출시하기 전에 소규모 그룹을 대상으로 통합 (integrations) 사항을 테스트하는 보다 점진적인 접근 방식 (incremental approach)을 취했을 것입니다. 하지만 제가 배운 가장 큰 교훈은 해결하려는 문제를 이해하는 것의 중요성입니다. 플랫폼을 구축하는 흥분 속에 빠지기 쉽지만, 궁극적으로 중요한 것은 크리에이터들입니다. 엔지니어로서 우리는 단순히 이론적으로 작동하는 무언가를 만드는 것이 아니라, 그들의 요구 사항을 충족하는 솔루션을 구축하는 데 집중해야 합니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 Dev.to AI tag의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기