본문 바로가기

IT/Server

backend 이해하기

사용한 서버 목록

- WAS 서버 (자바+스프링) 3대

- Mysql 서버 2대 (Master, Slave)

- Redis 서버 1대 (세션,캐시)

- Nginx 웹서버 1대

- Jenkins 서버 1대

- Vault 서버 1대

- Ngrinder 서버 1대

- Pinpoint 서버 1대

 

프로젝트 서버 구조에 대한 전반적인 설명

- 사용자는 Nginix IP로 Http 요청을 보냅니다.

- Nginix의 Reversed Proxy 기능을 통해 WAS서버 3대에 부하를 분산시킵니다.

- WAS서버는 데이터 접근을 위해 Mysql서버와 Redis서버에 요청을 보냅니다.

- Jenkins서버는 CI/CD 구축을 위해 사용하여 Github에 코드를 push할 시 통합, 배포를 자동화 시켜줍니다.

- Jenkins서버에서 배포 시 Docker를 이용해 3대의 WAS서버에 배포를 시켜줍니다.

- 배포 시 암호값, 설정값들은 Vault서버에 Http요청을 통해 받아와 배포 서버 이미지 실행 시 외부 주입을 시켜줍니다.

- 라이더들에게 배차 요청을 보내기 위해 Push 알람을 보내는데 이 때 WAS서버에서 파이어베이스 FCM 서버에 Async 메시지 요청을 보냅니다.

- 성능테스트를 위해 좋은 사양의 Ngrinder 서버에서 부하를 발생시킵니다.

 

 

 

 

 

 

백엔드 취업준비 프로젝트를 위해 무료로 여러 대의 서버 구축하기

제가 진행했던 make-delivery라는 프로젝트는 배달앱 서버를 구축해보는 것을 목표로 진행했습니다. 사용한 서버 목록 - WAS 서버 (자바+스프링) 3대 - Mysql 서버 2대 (Master, Slave) - Redis 서버 1대 (세션,

tjdrnr05571.tistory.com