⚽ FootballManager(MSA)

2024. 3. 29. 14:15Project/FootballManager(MSA)

개발 기간 : 2023년 12월 ~ 2024년 03월 (4개월)
팀 구성 : 프론트엔드 3명, 백엔드 3명, 디자인 1

 

프레임워크

  • SpringBoot 3.1.6
  • Spring Cloud
  • Spring Data Jpa
  • Spring Security

DB

  • Postgresql
  • Redis

메시징 및 알림

  • FCM (Firebase Cloud Messaging)
  • Kafka

클라우드 서비스

  • AWS EC2
  • Azure VM
  • AWS S3

컨테이너화 및 오케스트레이션

  • Docker
  • Docker Swarm

모니터링 및 로깅

  • Prometheus
  • Grafana

CI/CD

  • Github Action

프로젝트 개요

대학교 축구 동아리 관리 앱을 기획하고, 개발을 진행하였습니다.

기존 Monolithic한 개발 방식에서 벗어나 MSA를 학습하고 적용해보는 취지로 프로젝트를 개발하였습니다. 

상세 기능 및 UI는 깃허브에 게시하였습니다.

https://github.com/FootballManagementMSA

 

FootballManagementMSA

FootballManagementMSA has 6 repositories available. Follow their code on GitHub.

github.com


서비스 분리

- Eureka-Service : 서비스 디스커버리

- Gateway-Service : 로드밸런싱 및 필터를 사용하여 인증, 인가 작업을 처리.

- User-Serivce : 회원 관련 서비스 (회원 가입, 로그인, 마이페이지, 회원 탈퇴)

- Team-Service: 구단 관련 서비스 (구단 관리, 일정 관리, 경기 스쿼드 관리)

 

프로젝트에서 내에서 본인의 역할 (DevOps) 

(1) Team-Service 관련 API 개발

  • 구단 관리 로직 작성 
  • FCM 연동 일정 생성 및 관리 로직 작성
  • 경기 스쿼드 관리 로직 작성

(2) 인프라 구축 

  • Github Action을 통한 CICD 파이프라인 구축
  • AWS EC2, RDS, S3, 컨테이너 저장소(Docker hub) 관리.
  • Docker Swarm 활용 컨테이너간 통신을 위한 오버레이 네트워크 구축.
  • 효율적인 리소스 관리를 위해 Prometheus, Grafana 활용 모니터링 시스템 도입.
  • 서비스 간 통신을 위해 Kafka 서버 구축 및 Springboot 연동작업

서비스 아키텍처

 

서비스 아키텍처

db 설계

 

db 설계