Skip to content

kgh2120/goumunity-backend

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

673 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

프로젝트 개요

기존 SNS의 문제점인 과시소비, 자랑의 대척점에서 재미있게 지역절약정보를 공유하는 커뮤니티

기간 : 2024.01 ~ 2024.02 (6주)

인원 : BE 3, FE 3

역할(기여도) : BE(40%)

🛠️ Stack 기술 스택

BackEnd

Spring Boot Spring Security Spring Data Jpa Spring Cloud Config QueryDsl


Database

Azure MariaDB H2 Redis


ETC

AWS EC2 AWS S3 NginX Docker Jenkins Gitlab CI/CD


아키텍처

🖥️ 담당 기능


Backend

  • 채팅방 CRUD API 구현
  • Spring Security와 Redis를 활용한 세션기반 인증/인가 구현
  • STOMP를 활용한 채팅 구현
  • 회원 탈퇴 기능 구현

🗯️ 주요 기능 및 성과


  • Caffeine 캐싱을 활용한 지역 조회 API 성능 개선

image

  • JdbcTemplate의 bulk 쿼리를 통한 대량 삭제 쿼리 성능 개선

image

  • Spring Application Event를 활용해 각 서비스의 의존성 하락
  • Redis를 활용해 세션 저장소를 구현해 세션 동기화 문제 해결

💡 배운 점


  • 지속적으로 조회되는 기능에 대해서 캐싱을 통해 성능을 개선하는 방법에 대해서 배울 수 있었습니다. Local Cache와 Global Cache의 개념을 익혔고, 캐시 동기화 문제에 대해서 파악할 수 있었습니다.
  • 성능 테스트를 하는 과정에서 분산 환경에서 발생할 수 있는 Network IO의 오버헤드에 대해서 배울 수 있었습니다. 이로 인한 성능 감소 문제에 대해서 인식할 수 있었습니다.
  • 다중화 환경에서 세션을 이용하면 발생하는 세션 동기화 문제에 대해서 배울 수 있었습니다. 이 문제를 해결하기 위한 방법들에 대해서 배울 수 있었고, 공유 세션 저장소를 구현해 이를 해결할 수 있었습니다.

About

SSAFY 공통 프로젝트 - 거뮤니티

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • Java 99.9%
  • Other 0.1%