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

빌링 시스템 Pass 배포 시스템 체크리스트

빌링 시스템은 근본적으로 백엔드 시스템이므로 다음을 고려해야 한다.

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

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

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

  4. LogStash, GrayLog2 등을 사용하여 로그를 집계하고 Logback recipes 를 살펴볼 수 있도록 한다.

  5. Docker Container 에서 JMX 메트릭을 외부에서 살펴볼 수 있도록 설정한다.

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

  7. 멀티 인스턴스 환경에 대한 큐 이벤트 처리에 대한 로직을 올바르게 작성하도록 하여 중복 이벤트처리가 일어나지 않도록 한다.

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

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

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

  3. 서버에 충분한 엔트로피가 있는지 확인한다.

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