최종 프로젝트 주제 선정 (1일차)

이상민·2024년 10월 21일
0

코인 거래와 구독 시스템 구축 프로젝트

https://www.figma.com/design/M99xGlX47RESdoMIHGJUZk/777?node-id=15-259&node-type=frame&t=HlljmpqKDSWsXW7f-0 피그마 주소

우리 프로젝트는 사용자가 코인을 사고팔 수 있는 거래 기능(추가 목표)과 더불어, 고수익률 투자자의 거래 목록을 유료로 판매 및 구매할 수 있는 시스템을 구축하는 것을 목표로 한다. 고수익 투자자의 거래 목록을 구독하여 사용자들이 그들의 전략을 참고할 수 있으며, 거래 목록 판매자는 정기적으로 수익을 정산받아 추가 수익을 창출하게 된다.

핵심 기능

1. 코인 매매 기능

  • 실시간 시세 조회 및 매수·매도 주문 처리 기능을 제공한다.

  • 사용자는 매매 내역과 보유 코인 갯수를 관리할 수 있다.

2. 수익률 기반 거래 목록 판매 및 구독 기능

  • 고수익률을 기록한 투자자의 거래 목록을 판매할 수 있는 시스템을 제공한다.

  • 구독자는 해당 목록을 열람하고 투자 전략을 참고할 수 있는 권한을 얻는다.

구독자가 정보만 갖고 다른 곳에서 투자하는 경우를 생각하여 펀드 시스템과 비슷하게
변형 -> 매도하는 순간(실시간 그 코인거래가에)에 수수료1%를 구독자에게 지불

3. 정산 시스템

  • 거래 목록 판매자의 수익을 정기적으로 정산하여 지급한다.

  • 정산 내역은 사용자가 대시보드를 통해 확인할 수 있다.

4. 실시간 시세 스트리밍 및 캐싱

  • 외부 API를 연동하여 실시간으로 코인 시세를 가져오며, 이를 실시간으로 스트리밍하고 캐싱한다.

  • 과거 시세 데이터를 캐싱하여 사용자에게 제공한다.

5. 구독 시스템 및 수수료

  • 구독 시스템을 통해 수익률 높은 투자자의 거래 내역을 구독할 수 있으며, 구독료는 일정 수수료를 포함하여 거래된다.

아키텍처 구성

1. API 서버

  • 실시간 데이터 처리를 위한 API 서버가 구축된다.
    서버는 토스페이먼츠포트원 API를 연동하여 결제 및 구독 관리를 처리한다.

2. 배치 서버

  • 스프링 배치(Spring Batch)를 활용한 정산 처리 서버를 별도로 운영하여 사용자 정산을 자동화한다.
    배치 서버는 대용량 데이터를 효율적으로 처리하며, 주기적으로 거래 목록 판매자에게 수익을 정산한다.

3. 스트리밍 서버

  • WebSocket을 사용하여 실시간으로 코인 시세를 스트리밍한다.
    이를 통해 사용자는 초·분 단위로 시세 변화를 확인할 수 있으며, 실시간 거래가 가능하다.

4. 오토스케일링

API, 배치, 스트리밍 서버는 각각 AWS ECS에서 분리 운영되며, 트래픽에 따라 오토스케일링이 적용된다. 서버 상태는 스테이트리스(stateless)로 유지하여 유연한 확장을 지원한다.

추가 기능

1. 사용자 관리 및 포트폴리오

  • 개인 계정 생성 및 포트폴리오 관리 기능을 제공한다.
    사용자는 자신이 매수·매도한 주식 또는 코인을 한눈에 볼 수 있다.

  • 수익률 기반으로 사용자 랭킹을 제공하여 투자 성과를 비교할 수 있다.

2. 결제 및 환불 처리

  • 구독 및 거래 목록 구매 시 안전한 결제 처리가 가능하다. 결제 시스템은 토스페이먼츠와 포트원을 연동하여 처리하며, 환불 정책에 따라 자동화된 환불 처리도 제공된다.

3. 보안 및 데이터 보호

  • 사용자 데이터는 Bcrypt를 사용하여 암호화하며, 2단계 인증을 통해 보안을 강화한다.

4. 알림 및 보고 기능

  • 거래 체결, 정산, 목록 구매 등 주요 이벤트 발생 시 사용자에게 알림을 제공한다.
    또한, 주간·월간 투자 리포트를 생성하여 사용자가 자신의 성과를 한눈에 확인할 수 있다.

데이터 및 성능 처리

1. 데이터 캐싱

  • 과거 데이터를 캐싱하여 사용자가 구독 시 이력을 쭉 볼 수 있도록 지원한다. 이는 대량의 데이터 처리를 효율적으로 하기 위함이다.

2. 대용량 데이터 처리

  • 서버는 최대 1억 건 이상의 데이터를 처리할 수 있도록 설계된다. 각 모듈은 분리되어 운영되며, 특히 정산 처리를 위한 배치 서버는 대용량 데이터를 빠르게 처리한다.

3. 성능 테스트

  • 프로젝트의 각 서버는 도커 컴포즈로 로컬에서 테스트를 거친다. 이 과정에서 성능 최적화를 위한 스트레스 테스트도 함께 진행된다.

멀티 모듈 아키텍처

  • 프로젝트는 멀티 모듈 아키텍처로 구성된다. 각 모듈은 독립적으로 배포되고 관리되며, 이를 통해 각각의 서비스(API, 배치, 스트리밍)의 성능을 최적화할 수 있다.

결론

이 프로젝트는 실시간 거래 기능(추가적인 목표)과 수익 정산 시스템, 구독 및 수익률 기반 랭킹 시스템을 포함한 종합적인 코인 거래 플랫폼이다. 실시간 시세 스트리밍, 정산 처리의 자동화, 보안 및 데이터 보호 등의 다양한 기술을 통합하여 고성능, 고확장성을 갖춘 시스템을 구축하는 것이 목표이다.

2일차 계획

서버분리 api/batch/streaming (멀티모듈)

멀티 모듈 도커 컴포즈 테스트 먼저

profile
안녕하세요

0개의 댓글