티스토리 뷰

업무용 응용프로그램 개발 방안

  • A고객사 시스템의 채널 확대 및 사용자 증가에 따라 발생하는 인증 및 세션 관리 문제 해결을 위한 인증 방식 개선 방안
  • A고객사 비즈니스 유연성과 성능 관점에서 상품을 관리하기 위한 데이터 모델을 새롭게 설계하고 설계 사유 제시
  • 예약 처리 프로세스와 데이터 모델에서 발생하고 있는 동시성 이슈의 해결 방안 제시
 
Works AI

업무용 응용프로그램 개발 방안

1. 인증 방식 개선 방안

A고객사 시스템의 채널 확대 및 사용자 증가에 따라 발생하는 인증 및 세션 관리 문제 해결

현황 및 문제점:

  • 다양한 채널(웹, 모바일 앱, API 등)에서 인증이 필요.
  • 사용자 증가로 인해 세션 관리와 인증 처리 속도가 문제됨.

개선 방안:

  1. OAuth 2.0 도입:
    • 다양한 클라이언트에서 안전하게 리소스에 접근할 수 있도록 하고, 토큰을 기반으로 한 인증 방식을 사용.
    • 시스템 확장성과 유연성을 보장.
  2. JWT (JSON Web Token):
    • 클레임(claim)을 포함한 토큰을 사용하여 사용자 인증 정보를 안전하게 전달.
    • 토큰 기반 접근 방식으로 서버의 세션 관리를 간소화하고 성능을 향상.
  3. 싱글 사인온(SSO) 도입:
    • 한 번의 로그인으로 모든 채널에서 접근 가능하게 함.
    • 사용자 경험을 개선하고 보안성을 강화.
  4. 도커라이징:
    • 인증 서비스를 도커 컨테이너로 분리함으로써, 확장성을 제공하고, 필요 시 컨테이너를 쉽게 확장.

2. 데이터 모델 설계 방안

A고객사 비즈니스 유연성과 성능 관점에서 상품을 관리하기 위한 데이터 모델을 새롭게 설계

현황 및 문제점:

  • 기존 데이터 모델이 비즈니스 요구사항에 비해 유연성이 부족.
  • 데이터 구조가 복잡하여 성능 저하 문제 발생.

개선 방안:

  1. 정규화 vs 비정규화:
    • 비즈니스 요구사항에 따라 데이터의 중복을 허용하는 비정규화 접근 방식을 선택하여 성능을 향상.
    • 필요 시 데이터베이스 정규화를 통해 데이터 일관성을 유지.
  2. ERD (Entity-Relationship Diagram) 재설계:
    • 상품 카테고리, 속성, 가격 등 다양한 속성을 고려하여 데이터베이스 구조 재설계.
    • 필수적인 제약조건과 인덱스를 명시적으로 정의하여 쿼리 성능 최적화.
  3. NoSQL 데이터베이스 도입:
    • 상황에 따라 유연한 스키마를 제공하는 NoSQL 데이터베이스 사용.
    • 비정형 데이터를 효과적으로 관리하고, 확장성 높은 데이터 처리가 가능.
  4. 캐싱 전략 도입:
    • 자주 변하지 않는 데이터를 Redis나 Memcached와 같은 캐시 서버에 저장하여 데이터베이스 부하를 줄임.
    • 읽기 중심의 데이터 처리에서 성능 향상 효과.

3. 동시성 이슈 해결 방안

예약 처리 프로세스와 데이터 모델에서 발생하고 있는 동시성 이슈 해결

현황 및 문제점:

  • 높은 동시성 접속으로 인해 예약 처리에서 데이터 충돌 및 성능 저하 문제 발생.

개선 방안:

  1. 낙관적 잠금 (Optimistic Locking):
    • 트랜잭션이 완료될 때까지 데이터를 잠그지 않으며, 변경 시점에 데이터 일관성을 확인.
    • 충돌이 발생할 경우 재처리 로직을 추가하여 안정성 보장.
  2. 비관적 잠금 (Pessimistic Locking):
    • 데이터 수정 및 조회 작업 전에 먼저 잠금을 거는 방식으로, 동시성 문제를 원천적으로 방지.
    • 중요한 데이터 처리 시 적용.
  3. CQRS (Command Query Responsibility Segregation):
    • 읽기(read)와 쓰기(write) 모델을 분리하여 동시성 문제를 최소화.
    • 읽기 작업을 위한 데이터베이스와 쓰기 작업을 위한 데이터베이스를 분리하여 성능 최적화.
  4. 메시지 큐 (Message Queue) 도입:
    • 예약 요청을 메시지 큐에 기록하고, 큐에 저장된 메시지를 차례로 처리하여 동시성 문제 해결.
    • 아키텍처의 유연성과 확장성을 보장하여 부하 분산.

이와 같은 개선 방안을 통해 A고객사의 시스템이 더욱 안정적이고 유연하게 운영될 수 있도록 도울 수 있으며, 성능 향상 및 사용자 경험 개선을 기대할 수 있습니다.

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2025/03   »
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31
글 보관함