빌링 서비스 및 오픈소스 도구 Pass 연계 테스트 분석서 - SeungpilPark/uEngine-bill GitHub Wiki
빌링 시스템 Pass 배포 시스템 체크리스트
빌링 시스템은 근본적으로 백엔드 시스템이므로 다음을 고려해야 한다.
-
외부 세계에 시스템을 보이지 않아야 하고 프론트 엔드 시스템을 만들거나, 혹은 백엔드 시스템 앞에 리버스 프록시가 있어야한다. PG 로부터 게이트웨이 알림 (예 : IPN / 내부 결제 알림)을 받아 처리해야하는 경우 API Gateway 을 통해 설정하도록 한다.
-
부하 분산 장치 앞에 최소한 2 개의 인스턴스 (안정성을 위해)를 배포하도록 한다.
-
마스터 및 슬레이브 인스턴스로 데이터베이스를 설정하고 정기적 인 스냅 샷을 생성하도록 구성한다.
-
LogStash, GrayLog2 등을 사용하여 로그를 집계하고 Logback recipes 를 살펴볼 수 있도록 한다.
-
Docker Container 에서 JMX 메트릭을 외부에서 살펴볼 수 있도록 설정한다.
-
Auto scale 이 가능해야 한다.
-
멀티 인스턴스 환경에 대한 큐 이벤트 처리에 대한 로직을 올바르게 작성하도록 하여 중복 이벤트처리가 일어나지 않도록 한다.
빌링 시스템 Pass 배포 어플리케이션 체크리스트
-
업그레이드 배포 전 실행할 수있는 비즈니스 수준 회귀 테스트를 작성하도록 한다.
-
서버와 데이터베이스의 시간대는 UTC 여야하며 NTP가 인스턴스간에 드리프트가 발생하지 않도록 적절히 구성되어야 한다.
-
서버에 충분한 엔트로피가 있는지 확인한다.
-
지불 게이트웨이와의 통합을 확인한다. UNKNOWN 상태에 있어야하는 결제 거래는 거의 없어야 한다. 플러그인이 자동으로 처리 할 수없는 경우 수동으로 처리할 수 있는 Payment Admin API 를 제공하도록 한다.