온라인 도서관 서비스의 대규모 트래픽 안정적인 이벤트 참여와 대량 도서 데이터 검색을 최적화
목차
01 - 프로젝트 누리책마루 소개
누리는 세상을, 마루는 모이는 공간을 의미하여, 세상의 책이 모여 순환하는 곳이라는 뜻입니다.
프로젝트 배경
사회적 문제인 공공 도서관의 도서 폐기 문제를, 책이 필요한 사람들에게 분배함으로써 해결할 수 있지 않을까 하는 아이디어에서 출발한 프로젝트입니다.
프로젝트 소개
도서관에 과도하게 쌓인 책을 필요로 하는 이들에게 나누는 것을 목표로 한 온라인 도서관 웹 플랫폼 서비스
•
도서 나눔 이벤트 진행을 위한 웹 티케팅 서비스
◦
동시성 제어 관련 112.9% 응답 속도 성능 향상
•
도서 검색 및 예약 기능을 제공하는 웹 서비스
◦
검색 성능 최대 388.1% 향상
주요 기능
도서 나눔 이벤트 관리 기능 : 사용자들이 온라인으로 도서 나눔 이벤트에 참여할 수 있도록 관리자가 이벤트와 분배하는 도서를 지정하여 해당 이벤트를 생성 할 수 있습니다.
도서 검색 기능 : 사용자가 원하는 책을 쉽게 찾을 수 있도록 다양한 검색 필터와 함께 빠르고 정확한 검색 서비스를 제공합니다.
도서 대출 및 예약 기능: 사용자가 온라인을 통해 도서를 대출하거나 예약할 수 있는 시스템을 구축하여, 대면 접촉 없이도 필요한 책을 받아볼 수 있게 합니다.
02 - 프로젝트 목표
03 - 주요 기능
1. 도서 검색 기능
2. 도서 대출/예약 기능
3. 도서 나눔 이벤트
4. 관리자 기능
5. 사용자 기능
04 - 기술 스택
Backend
•
Tech Stack
•
DataBase
•
DevOps
◦
HTTPS
◦
CI/CD
◦
Infra
•
Test
•
Streaming / Messaging
Frontend
•
Tech Stack
기술적 선택 과정
05 - 소프트웨어 아키텍처 및 CI/CD
06 - ERD
07 - API 명세서
08 - 성능 및 구조 개선
카프카 성능 개선 기록 112.9% 응답 속도 성능 향상
JPA→JPQL→QueryDSL 코드 개선 과정 정리
UI/UX 관점의 검색 기능 개선 약 348.5% 응답 속도 성능 향상
검색 응답 성능 개선 통해 평균 388.1% 검색 성능 향상
카프카를 통한 서비스 아키텍처 구조 개선
09 - 트러블 슈팅
카프카를 통한 마이크로서비스 아키텍처 적용 과정
Elasticsearch 구현관련 트러블슈팅
개발 과정에서 발생한 여러가지 트러블 슈팅
10- Team
Table
Search