Skip to content

pnucse-capstone-2024-classroom-capstone-2024-Capstone-Template created by GitHub Classroom

Notifications You must be signed in to change notification settings

pnucse-capstone-2024/Capstone-2024-team-20

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

1. 프로젝트 소개

1.1. 배경 및 필요성

마이크로서비스 아키텍처(MSA)는 시스템을 소규모의 독립적인 서비스들로 분리하고, 각 서비스는 모듈 또는 프로젝트 단위로 나누어 개발 및 관리를 진행하는 소프트웨어 아 키텍처이다. 개발 시스템에서 결과물을 예측하기 위해서는 레퍼런스로 동작하는 모델이 필요하다. 그러나, 마이크로서비스 아키텍처를 제공하는 표준적인 모델은 존재하지 않으며, 표준 모 델을 제공하기에는 다양한 도메인의 모든 서비스 요구사항을 만족시키기 어렵다. 따라서, 특정 도메인에서 마이크로서비스 아키텍처를 제공할 수 있는 기반 구조가 필요하다

1.2. 목표 및 주요 내용

본 과제에서는 티켓 예매 시스템을 활용하는 티켓 판매자/티켓 구매자/시스템 관리자 입장의 요구사항을 반영하는 마이크로서비스 구축 및 배포 시스템을 제안한다. 제안하는 시스템은 티켓 예매 시스템에 필요한 기능 분석을 통해 티켓 예매 도메인에서 마이크로서비스가 동작 가능한 환경 및 기반 구조를 제시한다. 또한, 티켓 예매 시스템의 마이크로서비스 풀을 사전 구축하여 기본 흐름을 수행할 수 있게 함과 동시에, 개별 기 능들의 템플릿을 제공하는 것으로 티켓 예매에 필요한 각 이해관계자들의 요구사항이 반 영될 수 있도록 구축하였다.

2. 상세설계

2.1. 설계 상세화

2.1.1 유스케이스 다이어그램

마이크로서비스 관리 시스템 유스케이스
마이크로서비스 관리 시스템 유스케이스

티켓팅 시스템 유스케이스
티켓팅 시스템 유스케이스

2.1.2 클래스 다이어그램

시스템 배포 환경 모니터링 클래스 다이어그램
시스템 배포 환경 모니터링 클래스 다이어그램

마이크로서비스 인프라 관리 클래스 다이어그램
마이크로서비스 인프라 관리 클래스 다이어그램

클라이언트 시스템 클래스 다이어그램
클라이언트 시스템 클래스 다이어그램

클라이언트 시스템 클래스 다이어그램2
클라이언트 시스템 클래스 다이어그램2

판매자 배포 서비스 클래스 다이어그램
판매자 배포 서비스 클래스 다이어그램

2.1.3 연구 결과 분석 및 평가

배포 시간 테스트
배포 시간 테스트

부하 테스트
부하 테스트

2.2. 연구 개발 환경

개발 언어

  • TypeScript 5.5.3
  • Python 3.8.10
  • OpenJDK 17.0.12

프레임워크

  • React 18.3.1
  • FastAPI 0.111.1
  • Spring 3.3.1

빌드 도구

  • Gradle 8.8

실행 환경

  • Google Cloud Platform (GCP)
  • Windows 10
  • Ubuntu 20.04 LTS
  • Docker 27.3.1
  • Kubernetes 1.30.5

모니터링 도구

  • Prometheus 2.54.1

데이터베이스

  • MySQL 9.0.1

형상 관리

  • Git 2.25.1
  • GitHub

3. 📥 설치 및 사용 방법


4. 🎥 소개 및 시연 영상

위를 클릭하면 외부 사이트로 이동하여 시연 영상을 확인할 수 있습니다.


5. 👥 팀 소개

이름 역할
조용진 - 팀장
- 사용자 인증 서버 개발
- 공연 마이크로서비스 개발
- 티켓 판매자 요구사항에 따른 마이크로서비스 추가개발
강찬석 - 클라우드 인프라 구축 및 관리
- 시스템 관리 마이크로서비스 개발
- 서비스 배포 시간 테스트
이동현 - 클라이언트 개발
- 마이크로서비스 개발
- 마이크로서비스 아키텍처 안정성 테스트

About

pnucse-capstone-2024-classroom-capstone-2024-Capstone-Template created by GitHub Classroom

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Java 47.8%
  • TypeScript 38.1%
  • CSS 7.3%
  • JavaScript 3.7%
  • Python 1.8%
  • Dockerfile 1.1%
  • Other 0.2%