⚽ FootballManager(MSA)
2024. 3. 29. 14:15ㆍProject/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 설계
'Project > FootballManager(MSA)' 카테고리의 다른 글
[Grafana] 리소스 부족 장애 예방을 위한 Slack Alert 설정 (0) | 2024.05.03 |
---|---|
[Prometheus, Grafana] EC2 인스턴스 모니터링 구성 (1) | 2024.05.03 |
Prometheus, Grafana, Springboot 연동하기 (2) (0) | 2024.03.22 |
Docker Swarm을 사용하여 컨테이너 간 네트워크 통신 설정 (0) | 2024.03.21 |
Prometheus, Grafana, Springboot 연동하기 (1) (0) | 2024.03.21 |