- 회원들과 의견을 주고 받을 수 있는 커뮤니티 서비스를 제작했습니다.
- 단순히 기능 구현 뿐만 아니라 서비스의 규모가 확장되었을 때를 고려하여 발생할 수 있는 문제들에 대해 생각했습니다.
- 가독성이 좋은 코드와 유지 보수가 용이한 코드를 작성하기 위해 리팩토링했습니다.
- 버그를 줄여 소프트웨어의 품질을 향상하고 개발 과정을 효율적으로 만들기 위해 테스트 코드를 작성했습니다.

-
다량의 데이터로 인해 조회 속도가 느려졌고, 이로 인해 많은 부하가 발생했을 때 DB Connection을 가져오는 것을 실패하는 현상 발생
-
사용자 요청 건수를 예측하고 JMeter를 통해 서비스 성능을 테스트
-
Batch Size 설정과 DTO 조회 방식을 비교한 후, 적용하여 쿼리를 최적화하고 N + 1 현상을 해결
-
인덱스를 적용하고 EXPLAIN 명령어를 통해 인덱스가 효율적으로 사용되었는지 확인
-
빠른 데이터 접근과 데이터베이스 부하 감소하기 위해 인메모리 기반 Redis 캐시 도입
-
쿼리 최적화, 인덱스 적용, Redis 캐시를 적용하여 오류를 해결하고 조회 성능을 개선
-
Redis 분산 락을 통해 동시성 문제를 해결
-
하나의 서비스에 부하가 몰려 장애가 발생하는 것을 해결하기 위해 서버를 Scale-out하고 Nginx를 통해 로드 밸런싱하여 Scale-out된 서버에 요청 분산
-
데이터 베이스의 읽기 성능을 향상하고 데이터를 안전하게 보관하기 위해 DB Replication 적용
-
다중 서버 환경에 적합한 인증/인가 방식인 JWT 적용