빌링 서비스 및 오픈소스 도구 Pass 연계 테스트 설계서 - SeungpilPark/uEngine-bill GitHub Wiki

빌링 시스템 Pass 배포 시스템 설계

  1. 외부 세계에 시스템을 보이지 않아야 하고 프론트 엔드 시스템을 만들거나, 혹은 백엔드 시스템 앞에 리버스 프록시가 있어야한다. PG 로부터 게이트웨이 알림 (예 : IPN / 내부 결제 알림)을 받아 처리해야하는 경우 API Gateway 을 통해 설정하도록 한다.

=> E-form 서비스가 프론트 엔드 시스템 역할을 하며, Api gateway(Server wrapper) 를 통해 PG 로부터의 게이트웨이 알림을 받아 처리한다.

  1. 부하 분산 장치 앞에 최소한 2 개의 인스턴스 (안정성을 위해)를 배포하도록 한다.

=> 다수의 Docker container 를 통해 구성하도록 한다.

  1. 마스터 및 슬레이브 인스턴스로 데이터베이스를 설정하고 정기적 인 스냅 샷을 생성하도록 구성한다.

=> AWS RDS 를 통해 처리하도록 한다.

  1. Auto scale 이 가능해야 한다.

=> AWS Docker 를 통해 처리하도록 한다.

빌링 시스템 Pass 배포 어플리케이션 체크리스트

  1. 업그레이드 배포 전 실행할 수있는 비즈니스 수준 회귀 테스트를 작성하도록 한다.

=> Active Deployment

  1. 서버와 데이터베이스의 시간대는 UTC 여야하며 NTP가 인스턴스간에 드리프트가 발생하지 않도록 적절히 구성되어야 한다.

=> AWS Docker 또는 EC2 에 NTP 를 동일한 Time Zone 으로 설정한다.

  1. 지불 게이트웨이와의 통합을 확인한다. UNKNOWN 상태에 있어야하는 결제 거래는 거의 없어야 한다. 플러그인이 자동으로 처리 할 수없는 경우 수동으로 처리할 수 있는 Payment Admin API 를 제공하도록 한다.

=> 자동으로 PG 사와 거래할 수 없을 경우 관리자는 Payment Admin API 를 통해 고객의 결제상태를 변경하고, 필요할 경우 고객과 직접 거래를 진행해야 한다.