Skip to content

koreaioi/CAPSTONE_PROJECT

Repository files navigation

GachonScholarShip-BE

슬기로운 장학생활 BackEnd Repository

기술스택
시스템 아키텍처
MSA 적용 이유
문제 해결 성과

BackEnd Team

송우석 길귀종
MSA 환경 구축,
Raspberry Pi NAS 서버 구축,
인증 인가 구현,
교내 버스 안내 기능 구현,
로드뷰 기능 구현
건물 기능 구현,
강의실 기능 구현
PM, BE BE
기여도 84% 기여도 16%

기여도 측정 방식 (토글)

Code Line으로 기여도 측정.

기여도 측정 MSA 프로젝트 기여도

WBS

프로젝트 WBS입니다.

WBS

기술 스택

사용한 기술 스택을 소개합니다.

BackEnd

Spring Boot
Spring Eureka Server
Spring Eureka Client
Spring Cloud Gateway
Spring Security
Spring Data JPA

Infrastructure

Raspberry Pi
Docker
Docker-compose
GitActions
Jira


시스템 아키텍처

초기 아키텍처

Log 초기 아키텍처

개선된 아키텍처 ELK 파이프라인 적용
ELK 파이프라인을 구축하여, Elasticsearch 적재 후 Kibana로 데이터 시각화

Log 데이터 파이프라인

MSA 적용 이유

기본 배경

두차례 마비학교 서버로 인하여, 이틀 동안 학교 페이지와 사이버캠퍼스 전체 마비.

끼친 영향

장애 전파로 인한 서비스 전체 마비에 대한 사용자 거부감 확인.

원인 파악

학교 서버가 한가지 서버로 이루어진 Monolithic Server라는 걸 파악.

해결 방안

Micro Service Architecture를 적용하여, 장애 전파 방지.

성과: 타 서비스 장애에도, 영향 받지 않는 MSA 구축.



문제, 해결, 성과

겪은 문제 1. 프로젝트가 처음인 팀원.

기본 배경

나를 제외한 모든 팀원이 프로젝트 경험이 처음, 백엔드 팀원은 Spring 개발 경험이 처음.

해결 방안

  1. 프로젝트 팀원끼리 스터디 진행 + Scrum 도입.
  2. 매주 월요일, 목요일 스터디 파트 분배 및 학습 내용 발표.
  3. Git, Docker 기술 공유.

성과

기획 단계에서 구상한 MVP 기능 구현 모두 완성 (100%) 캡스톤 프로젝트 A+



겪은 문제 2. 고비용 서버.

사용할 수 있는 서버

학과 서버: 졸업 프로젝트시 제공해주는 학과 서버는 사용자가 많아 오류가 잦음. (ex AI 모델 학습)

외부 Cloud 서버: MSA를 구현하기 위한, 서버 스펙을 충당하려면 월 비용 약 6만원 (AWS 기준) 이는 학생 수준에서 부담되는 비용

해결 방안

Raspberry Pi RAM 4G를 구매(5만원)하여 NAS 서버 구축

성과

15주간 서버 비용 18만원 -> 5만원으로 비용 절감 (약 70%)



겪은 문제 3. 인증 인가

배경

초기에는 인증 인가의 책임을 회원 서비스에 두어 처리하려했습니다.
그러나, 모든 요청가 User MicroService를 거쳐야하는 불필요함이 야기됨.

해결 방안

인증 인가 책임을 ApiGateway에 위임.
Spring Security가 아닌 ApiGateway단에서 Spring Cloud Filter를 이용하여 Authentication Filter 구축 2130 -> 620 ApiGateway - AuthenticationFilter

About

신입생 & 외국인을 위한 학교 안내 Kiosk SW

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •  

Languages