OK캐쉬백 복지 포인트, 보안과 성능을 모두 잡다!

by DD
2개월 전
조회수 32

OK캐쉬백 복지 포인트 서비스는 보안(Security), 대용량 처리, 제한된 일정 내 개발이라는 과제를 안고 시작됨

코어 시스템(Core System), OK캐쉬백 앱, 어드민 시스템으로 구성, 각 시스템은 역할 분담(Role Division)을 통해 기능 구현

OpenAI GPT-4.1-mini 모델을 활용한 영수증 인식 기능을 도입하여 관리자 검증 효율성 및 사용자 편의성 향상

사설 IP 기반 접근 통제(Private IP Access Control), 2단계 인증(2FA) 적용 등 보안 강화에 집중

OGG(Oracle GoldenGate)를 활용한 DB 연동으로 개발 기간 단축(Development Time Reduction) 및 안정적인 서비스 런칭 달성

보안 강화를 위한 접근 통제 전략

OK캐쉬백 복지 포인트 서비스는 금융 서비스의 특성상, 보안을 최우선으로 고려하여 설계되었다. 특히 어드민 시스템(Admin System) 접근 통제에 집중하여, 마스터 관리자(Master Admin)제휴사 관리자(Partner Admin)의 접속 경로를 분리했다.

마스터 관리자: 사설 IP(Private IP)에 매핑된 사설 도메인(Private Domain)을 통해 접근하며, VDI(Virtual Desktop Infrastructure)를 통해 고정 IP 할당 및 방화벽(Firewall) 정책 적용

제휴사 관리자: 공인 IP(Public IP)에 매핑된 공인 도메인(Public Domain)을 통해 접근하며, 2단계 인증(2FA)을 적용하여 보안 수준을 높임

이러한 접근 통제 방식을 통해, 데이터 격리 아키텍처(Data Isolation Architecture)를 구현하고, 관리자 권한 오용으로 인한 보안 사고를 예방하고자 했다.

대용량 처리를 위한 비동기 아키텍처

복지 포인트 서비스는 대량의 임직원 포인트 지급과 같은 대용량 작업 처리를 위해 비동기(Asynchronous) 방식을 채택했다. 핵심은 요청과 실행의 분리(Separation of Request and Execution)를 통해 시스템의 응답성을 유지하는 것이다.

요청 저장: 대용량 요청 발생 시, 실제 작업 수행 대신 요청 정보를 DB에 저장하고, Redis Queue(Redis Queue)에 등록

Worker 기반 처리: Worker는 Redis Queue에서 요청을 가져와, 개별 작업 단위로 분할하여 처리

배치 처리: 10분 단위 배치(Batch)를 통해 포인트 지급 및 차감 작업을 수행하며, 작업 성공/실패 여부를 초기 요청 데이터에 반영

이러한 구조를 통해, 대용량 처리(High-Volume Processing) 환경에서도 안정적인 서비스 운영을 가능하게 했다.

OpenAI 기반 영수증 인식 기능 도입

OK캐쉬백은 영수증 기반 검증의 정확도와 사용자 편의성을 높이기 위해 OpenAI를 활용한 영수증 인식 기능을 도입했다. 영수증 이미지에서 승인번호, 가맹점명, 사업자번호 등 핵심 정보를 자동으로 추출하여 관리자의 검증 효율성을 향상시켰다.

모델 선택: 다양한 모델(GPT-4o, GPT-4.1-mini, GPT-4.1-nano)을 테스트한 결과, GPT-4.1-mini 모델이 가장 높은 인식률, 빠른 응답 시간, 낮은 비용을 보였다.

자동화: 영수증 정보 자동 추출을 통해, 수기 입력(Manual Input)으로 인한 오류를 줄이고, 관리자의 업무 부담을 경감

활용 분야: 복지 포인트 사용 내역 검증, 부정 사용 방지 등 다양한 분야에 활용 가능

이러한 멀티모달 분석(Multimodal Analysis)을 통해, 서비스의 효율성과 사용자 경험을 동시에 개선했다.

OGG(Oracle GoldenGate)를 활용한 DB 연동

제한된 개발 시간 내에 서비스를 런칭하기 위해, OK캐쉬백은 OGG(Oracle GoldenGate)를 활용하여 DB 간 데이터 연동을 구현했다. 이는 API 연동 대신, DB 레벨에서 데이터를 직접 공유하는 방식으로, 개발 속도를 향상시키는 데 기여했다.

OGG 도입 배경: API 개발 및 테스트에 소요되는 시간을 단축하고, 핵심 데이터의 실시간 동기화를 구현

연동 대상: 포인트 배정/차감 이력, 카드 사용 내역, 영수증 처리 이력 등 핵심 데이터에 대해 총 6개의 테이블을 OGG로 연동

장점: 개발 기간 단축(Development Time Reduction), 안정적인 데이터 동기화, 유연한 시스템 확장

이러한 선택은 시간 제약(Time Constraint) 속에서, 목표 달성을 위한 현실적인 솔루션이었다.

어드민 시스템 설계 시 고려 사항

OK캐쉬백 복지 포인트 서비스의 어드민 시스템은 단순한 관리 도구를 넘어, 서비스 운영의 핵심 역할을 담당한다. 안정성, 보안, 운영 효율성을 모두 고려하여 설계되었으며, 다음과 같은 전략을 통해 목표를 달성했다.

접근 통제: 마스터 관리자와 제휴사 관리자의 접근 경로를 분리하고, 2단계 인증(2FA) 적용

대용량 처리: 비동기 방식(Asynchronous)을 통해 대용량 작업 처리 및 시스템 응답성 확보

영수증 인식: OpenAI를 활용한 영수증 인식 기능 도입으로, 관리자 검증 효율성 및 사용자 편의성 향상

OGG 활용: OGG를 활용한 DB 연동으로, 개발 기간 단축 및 안정적인 서비스 런칭

이러한 설계 전략은 데이터 미저장 정책(Zero-Retention Policy)을 통해, 서비스의 안정성과 효율성을 동시에 확보하는 데 기여했다.

OK캐쉬백 복지 포인트 서비스 개발기: 보안, 대용량 처리, 그리고 현실적인 선택들

댓글 0

첫 번째 댓글을 남겨보세요!