Skip to content

anomie7/withkid-backend-structure

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 

Repository files navigation

withkid-backend-structure

백엔드 워크플로우 backend workflow

웹 크롤러

아동용 문화 컨텐츠를 수집하는 웹 크롤러
Selenium으로 동적인 웹사이트도 수집 가능
레포지토리

인증 서버

사용자 인증 후 jwt를 발급(refresh, access)
access token의 유효성을 검사 후 재발급(형식, 만료일시)
refresh token을 갱신/재발급
인증 서버 레포지토리

api 서버

컨텐츠 검색(페이징 가능)
콘텐츠 캐싱(레디스)
사용자 로그 저장(레디스)
레포지토리

ULOG 서버

스토리지는 Firebase의 Firestore 사용
유저의 검색 조건 저장
유저의 이벤트 로그 저장
전체 이벤트의 조회수 저장
서비스에 접속한 당일 이전의 7일간 가장 많이 검색한 지역과 카테고리를 반환하는 기능('전체' 조건은 제외)
레포지토리

웹 서버(nginx)

정적 자원 서버

spa를 제공
이미지 제공

로드밸런서

letsencrypt의 ssl 인증서로 https 도입
reverse proxy로 인증 서버와 리소스 서버에 해당하는 docker service를 매핑

인프라 관리(Docker)

개발 환경과 배포 환경의 일치와 CI, CD를 용이하게 하기 위해 도입

인증 서버와 api 서버의 빌드한 jar 파일을 image로 배포
생성한 이미지는 docker-compose.yml 파일로 한번에 실행
간편한 컨테이너 관리와 확장을 위해 docker swarm 도입
docker hub
레포지토리

부하 테스트

ngrinder을 docker를 이용하여 실행
redis, resource-server, nginx 모두 vuser 100으로 3분간 실행했으나 서버 다운은 없었음.

About

위드키드 백엔드 구조 설명

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published